Size: a a a

2017 August 25

OK

Oleksandr Khotemskyi in JS for testing
я бы проще написал
источник

OK

Oleksandr Khotemskyi in JS for testing
function shouldHaveTopics(...texts: string[]) {
   let items = $("[role='main']").all(this.mailsContainerLocator).$$(".y6 span[id*=':']")
   let visibleItems = items.filter(elem=> elem.isDisplayed())
   expect(visibleItems.getText()).toBe(texts)
   return this;
}
источник

OK

Oleksandr Khotemskyi in JS for testing
типы здесь можно явно не указывать - они выведутся из контекста
источник

OK

Oleksandr Khotemskyi in JS for testing
и потом - у ElementArrayFinder есть метод getText() - который вернет промис который зарезолвится в массив текстов
источник

OK

Oleksandr Khotemskyi in JS for testing
так что .map не нужен
источник

OK

Oleksandr Khotemskyi in JS for testing
По поводу вопроса 1 - я думаю дело в ленивых элементах
источник

OK

Oleksandr Khotemskyi in JS for testing
просто let items = $("[role='main']").all(this.mailsContainerLocator).$$(".y6 span[id*=':']")
источник

OK

Oleksandr Khotemskyi in JS for testing
не тригерит поиск на странице
источник

OK

Oleksandr Khotemskyi in JS for testing
элемента
источник

OK

Oleksandr Khotemskyi in JS for testing
*элементов
источник

OK

Oleksandr Khotemskyi in JS for testing
а вот первый запрос к ним - .count() - уже тригерит
источник

OK

Oleksandr Khotemskyi in JS for testing
я бы добавил какой то вейт
источник

OK

Oleksandr Khotemskyi in JS for testing
Вопрос 2 - сколько у тебя стоит implicitWait?
источник

OK

Oleksandr Khotemskyi in JS for testing
просто возможно элементов реально много
источник

OK

Oleksandr Khotemskyi in JS for testing
источник

OK

Oleksandr Khotemskyi in JS for testing
блин
источник

OK

Oleksandr Khotemskyi in JS for testing
сорри, нетуда
источник

AP

Alexander Popov in JS for testing
Имплисит у меня не выставлен вообще, он по умолчанию вроде 0
источник

AP

Alexander Popov in JS for testing
http://prntscr.com/gd0tya
не сравнивает он промис с массивом строк...
и по поводу items.filter(elem=> elem.isDisplayed())
isDisplayed() возвращает объект - промис, а фильтр ждет булеан, этот фильтр не будет принимать каждый элемент? т.к. промис как объект трушный
источник

AP

Alexander Popov in JS for testing
сори, тупанул по поводу имплисита. у меня аж 10 секунд стоял) убрал его вообще, теперь получше со скоростью
источник