【发布时间】:2016-07-12 23:03:56
【问题描述】:
我正在使用 Protractor 进行 AngularJS 测试,而使用 XPath 会使测试变得非常缓慢。此外,它有时会显示无法找到 XPath 的错误,但如果我再次运行它就可以正常工作。
【问题讨论】:
标签: angularjs xml xpath web-applications protractor
我正在使用 Protractor 进行 AngularJS 测试,而使用 XPath 会使测试变得非常缓慢。此外,它有时会显示无法找到 XPath 的错误,但如果我再次运行它就可以正常工作。
【问题讨论】:
标签: angularjs xml xpath web-applications protractor
是的,当你在正常情况下使用量角器时,你有比 xpath 更好的选择。
你可以通过模型,绑定等选择元素,这是一种正确的方式
喜欢
在mypage.po.js 文件中:
var MyPagePO = function () {
this.title = element(by.binding('some.title'));
this.emailInput = element(by.model('some.email'));
};
module.exports = MyPagePO;
在mypage.spec.js:
var MyPagePO = require('mypage.po.js');
describe('Login Page Tests.', function () {
var myPagePO = new MyPagePO();
beforeEach(function () {
//...
});
it('Some case.', function () {
expect(myPagePO.emailInput.getText()).toBe('some');
expect(myPagePO.title.getText()).toBe('some');
});
});
看看this article,它很有帮助(而且很容易理解)。
【讨论】:
如果您遇到 xpath 只能间歇性工作的问题,可能是由于您的 xpath 不够健壮。 http://scraping.pro/res/xpath-cheat/xpath_css_dom_recipes.pdf 是我在使用 xpaths 时使用的非常有用的备忘单。
【讨论】: