Size: a a a

JavaScript testing

2021 November 26

M

Mark in JavaScript testing
Ребят привет! Вкатываюсь в protractor и тестирование веб страниц. Волнуют такие вопросы:
1) Есть ли бестпрактисы того, как ожидать появления элемента на экране, или какого либо другого события? ну если например мне надо дождаться пока загрузится веб страничка, или отрендерится какой нить выпадающий список? Пока что тыркаю browser.sleep(), но сдается мне что можно лучше
2) Как лучше всего проверять отсутствие какого либо элемента на экране? Например такой кейс:
 0) дождаться появления всплывающего окна
 1) нажать на кнопку "ОК"
 2) проверить что всплывающее окно пропало
Первое приходящее в голову
let window = element(by.css('.elementclass'))
expect(window).toBe(undefined)
не срабатывает, тк там все равно какой то обьект формируется
источник

AC

Alex Cooper in JavaScript testing
Не стоит наверное вкатываться в фреймворк, который уже депрекейтнули
источник

M

Mark in JavaScript testing
хорошее замечание, но давайте пока закроем на это глаза
источник

IS

Ivan Sandrátskii in JavaScript testing
KMM - сразу под idea и сразу под vscode ))
источник

SM

Stas Mokshin in JavaScript testing
Можно через wait и ExpectedConditions
источник

NK

ID:0 in JavaScript testing
Переслано от Mikhail Bolotov
всем привет!
для всех поклонников IntelliJ есть хорошая новость: playwright тесты теперь можно запускать (и дебажить) прямо из IDE.
всеми любимая зеленая кнопка запуска теперь с нами =)
источник

NK

ID:0 in JavaScript testing
Переслано от Mikhail Bolotov
встречайте новый плагин Maestro https://plugins.jetbrains.com/plugin/18100-maestro
сразу скажу, что плагин платный (но не дорогой), потому что потребовал довольно много времени на создание.
но для тех, кто много работает с тестами, он наверняка быстро окупится
источник

NP

Nikita Petrenko in JavaScript testing
Классно
источник

АП

Андрей Перетятко... in JavaScript testing
Круто, купил, спасибо₽
источник

m

mkots in JavaScript testing
Красивое
источник

S

Sulaiman in JavaScript testing
Ребят, кто может помогите, пожалуйста по wdio.
Как сделать assert, что количество элементов с такими проперти или определнным селектором равно n.
async fadThreeOptions() {
       let fadArray=await $$("//span[contains(text(),'Find ')]");
           expect(fadArray).count.equal(3)
       }
источник

m

mkots in JavaScript testing
Ленс же есть у $$
источник

m

mkots in JavaScript testing
Просто иквалом асертни
источник

m

mkots in JavaScript testing
Или там сайз)) не помню
источник

S

Sulaiman in JavaScript testing
понял, спасибо, попробую
источник

m

mkots in JavaScript testing
Ахахахах, вот почему нельзя рабочий чатик в телеге иметь.
Извините, если увидели то сообщение
источник

V

Vlad in JavaScript testing
Привет всем, только начал знакомиться с webdriverio, столкнулся с проблемой. При смене браузера на firefox, при повторном запуске теста(после первого прогона - там все ок) вылетает error, что порт 4444 занят. Почему selenium не скидывает порт, есть идеи? Нагуглить кроме как kill port ничего не вышло
С chromedriver + chrome все ок, повторный запуск происходит без error
источник

S

Sulaiman in JavaScript testing
не сработало length, но сработало .toBeElementsArrayOfSize()
async fadThreeOptions() {
       let fadArray=await $$("//span[contains(text(),'Find ')]");
           await expect(fadArray).toBeElementsArrayOfSize(5)
   }
источник

m

mkots in JavaScript testing
А разве $$ это не нодЛист?
https://developer.mozilla.org/en-US/docs/Web/API/NodeList
источник

m

mkots in JavaScript testing
This command returns array of JSON representation of the elements
источник