【发布时间】:2016-02-08 14:21:22
【问题描述】:
我有一个关于量角器如何处理元素定位的问题。 我正在使用页面对象,就像在 Webdriver 中一样。 与 Webdriver 的最大区别在于,仅在对该元素调用函数时才会定位元素。
使用页面对象时,建议在测试之前实例化您的对象。但后来我想知道,如果你实例化你的对象并且页面发生变化,元素的状态会发生什么变化?
我用一个例子来演示
it('Change service', function() {
servicePage.clickChangeService();
serviceForm.selectService(1);
serviceForm.save();
expect(servicePage.getService()).toMatch('\bNo service\b');
});
调试时 servicePage.getService() 返回未定义。 是不是因为 serviceForm 是另一个页面,servicePage 的状态发生了变化?
这是我的页面对象:
var servicePage = function() {
this.changeServiceLink = element(by.id('serviceLink'));
this.service = element(by.id('service'));
this.clickChangeService = function() {
this.changeServiceLink.click();
};
this.getService = function() {
return this.service.getAttribute('value');
};
};
module.exports = servicePage;
提前谢谢你。 问候
【问题讨论】:
标签: protractor