Разрешены ли обещания elementfinder при объявлении?

Я знаю, что ElementFinder являются обещаниями, но я не уверен, как ведет себя обещание, если мы определяем 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.


person jpsstavares    schedule 11.11.2014    source источник


Ответы (1)


Средства поиска элементов не будут выполняться до тех пор, пока вы не вызовете для них функцию. Вам просто нужно убедиться, что элементы находятся на странице, когда вы вызываете что-то вроде click(), sendKyes() и т. д.

person Andres D    schedule 11.11.2014