Используйте оператор возврата в определении шага после того, как все ваши шаги будут выполнены.
When('I select the return date', async () => {
await calendar.returnDate.click();
await browser.wait(EC.elementToBeClickable(calendar.searchBtn));
let enabled_day = element.all(by.id('your locator')).filter(e=>e.isDisplayed()).first();
return enabled_day.click();
})
Если вы хотите проверить свойство isDisplayed массива веб-элементов, используйте метод filter, а затем используйте первый веб-интерфейс. отображаемый элемент.
И не забудьте добавить оператор возврата и оператор ожидания в конце определения шага.
filter(filterFn: (element: ElementFinder, index?: number) => boolean | wdpromise.Promise<boolean>): ElementArrayFinder;
(method) ElementArrayFinder.filter(filterFn: (element: ElementFinder, index?: number) => boolean | promise.Promise<boolean>): ElementArrayFinder
Применить функцию фильтра к каждому элементу в пределах ElementArrayFinder. Возвращает новый ElementArrayFinder со всеми элементами, которые передают функцию фильтра. Функция фильтра получает ElementFinder в качестве первого аргумента и индекс в качестве второго аргумента. Это на самом деле не возвращает базовый список элементов, поэтому его можно использовать в объектах страницы.
@alias — element.all(locator).filter(filterFn)
@view
<ul class="items"> <li class="one">First</li> <li class="two">Second</li> <li class="three">Third</li> </ul>
@example
element.all(by.css('.items li')).filter(function(elem, index) {
return elem.getText().then(function(text) {
return text === 'Third';
});
}).first().click();
// Or using the shortcut $$() notation instead of element.all(by.css()):
$$('.items li').filter(function(elem, index) {
return elem.getText().then(function(text) {
return text === 'Third';
});
}).first().click();
@ param filterFn Функция фильтра, которая будет проверять, должен ли элемент быть возвращен. filterFn может возвращать логическое значение или обещание, которое разрешается в логическое значение
@ возвращает ElementArrayFinder, представляющий массив элементов, которые удовлетворяют функции фильтра.