我知道ElementFinder
是承诺,但如果我们在Page对象的开头定义ElementFinder
,我不确定承诺的行为方式。看一个例子:
var EventHeader = function (context) {
this.eventName = this.moduleRoot.element(by.css('.event-name'));
this.venueName = this.moduleRoot.element(by.css('.venue-name'));
this.eventTime = this.moduleRoot.element(by.css('.event-time'));
this.eventDate = this.moduleRoot.element(by.css('.event-date'));
this.marketName = this.moduleRoot.element(by.css('.market-name'));
};
当初始化页面对象时,量角器会尝试解决所有的承诺吗?
我想另一种选择是在开头定义定位器,然后创建返回ElementFinder
本身的方法。
答案 0 :(得分:4)
在您调用函数之前,元素查找程序将不会执行。当您拨打click()
,sendKyes()
等内容时,您必须确保元素在页面上。