Size: a a a

2020 March 12

EL

Evgeny Lukoyanov in JS for testing
Да, которые через webdriver/puppeteer
источник

B

Bola in JS for testing
Я планирую и это сделано, покрытие основных пользовательских сценариев через e2e с живыми браузерами. Тут все ок.
Но все детальные параметризированные проверки UI - хочу на юниты. Их сейчас мало, разработчики почти не пишут их.
источник

EL

Evgeny Lukoyanov in JS for testing
Bola
Я планирую и это сделано, покрытие основных пользовательских сценариев через e2e с живыми браузерами. Тут все ок.
Но все детальные параметризированные проверки UI - хочу на юниты. Их сейчас мало, разработчики почти не пишут их.
Да, в принципе,  у нас примерно так

Есть тесты на юнит/ интергационном уровне с использованием jsdom

В принципе "обычное" (рендеринг, клики, эвенты) поведение работает корректно, проблем не встречал почти

Вот только обсерверы ограничены были (месяца два-три назад точно)

Ну и браузерные тесты, в принципе, выведут проблемы в реализации движков браузеров -
Наличие используемого функционала, его корректность, баги с отрисовкой (у нас какая-то версия ie и ff не дружила с динамически подставляемым марджином, но это специфическая редкая проблема)
источник

OI

Oleksii Ihnatiuk in JS for testing
будет полезно для себя задокументировать пару примеров или направленностей что вы проверяете на каждом из уровней. Например:
юнит
-----

здесь я проверяю граничные значения, провожу мутационное тестирование если релевантно, ...

компонент
----------
проверяю корректность ивентов, состояний, ....

АПИ
----
...

е2е
----
....
источник

OI

Oleksii Ihnatiuk in JS for testing
потом помните, что если вы думаете таким образом, то почти точно другие члены вашей команды думают по-другому. Поэтому или проводите сессию на которой все объясняете и договариваетесь, либо проводите воркшоп с примерами и разжовываете
источник

B

Bola in JS for testing
Evgeny Lukoyanov
Да, в принципе,  у нас примерно так

Есть тесты на юнит/ интергационном уровне с использованием jsdom

В принципе "обычное" (рендеринг, клики, эвенты) поведение работает корректно, проблем не встречал почти

Вот только обсерверы ограничены были (месяца два-три назад точно)

Ну и браузерные тесты, в принципе, выведут проблемы в реализации движков браузеров -
Наличие используемого функционала, его корректность, баги с отрисовкой (у нас какая-то версия ie и ff не дружила с динамически подставляемым марджином, но это специфическая редкая проблема)
а напомните, какая именно проблема будет из-за отсутствия обсервера?
источник

B

Bola in JS for testing
Oleksii Ihnatiuk
потом помните, что если вы думаете таким образом, то почти точно другие члены вашей команды думают по-другому. Поэтому или проводите сессию на которой все объясняете и договариваетесь, либо проводите воркшоп с примерами и разжовываете
обязательно. в будущем все равно обяжу разработчиков самостоятельно покрывать тестами свой код
пока хотя бы запретили пушить в мастер ))
коллектив молодой
источник

OI

Oleksii Ihnatiuk in JS for testing
после следующая боль это дублирование и непонимание что и на каком уровне у вас пишется, постарайтесь это сделать понятным и ВИЗИБЛ для всех участников
источник

EL

Evgeny Lukoyanov in JS for testing
Bola
а напомните, какая именно проблема будет из-за отсутствия обсервера?
У нас часть функционала зависела от пересечения блоков с видимой частью экрана (intersection)

Часть от факта изменения содержимого элементов и изменения потомков элементов (mutation)
источник

B

Bola in JS for testing
тесты вы кладете в отдельный каталог или они живут рядом с компонентом?
источник

B

Bola in JS for testing
И ещё вопрос, если говорить про jest - как настроить в случае, если мультипроект ангуляр?
источник

A

Artem in JS for testing
Привет всем, тесты wdio+selenoid не видят iframe.Тесты раню с локальной машины на дроплете селеноида(digital ocean).  Селектор фрейма правильный ведь локальный селеноид находит 100 проц случаев. Не знаю в чем тут дело
источник

OK

Oleksandr Khotemskyi in JS for testing
Artem
Привет всем, тесты wdio+selenoid не видят iframe.Тесты раню с локальной машины на дроплете селеноида(digital ocean).  Селектор фрейма правильный ведь локальный селеноид находит 100 проц случаев. Не знаю в чем тут дело
А в какой момент падает?
источник

OK

Oleksandr Khotemskyi in JS for testing
Artem
Привет всем, тесты wdio+selenoid не видят iframe.Тесты раню с локальной машины на дроплете селеноида(digital ocean).  Селектор фрейма правильный ведь локальный селеноид находит 100 проц случаев. Не знаю в чем тут дело
И что за ошибка? Может айфрейм не успел прогрузится
источник

OK

Oleksandr Khotemskyi in JS for testing
Artem
Привет всем, тесты wdio+selenoid не видят iframe.Тесты раню с локальной машины на дроплете селеноида(digital ocean).  Селектор фрейма правильный ведь локальный селеноид находит 100 проц случаев. Не знаю в чем тут дело
Самые дешевенькие дроплетики то слабенькие, там 1-2 браузера и все, ресурсы кончились
источник

A

Artem in JS for testing
Падает на вейтере:  element ("iframe[name="__privateStripeFrame5"]") still not displayed after 12000ms
источник

A

Artem in JS for testing
Все 11 тестов упали
источник

OK

Oleksandr Khotemskyi in JS for testing
Artem
Падает на вейтере:  element ("iframe[name="__privateStripeFrame5"]") still not displayed after 12000ms
Может айфрейм недоступен из диджитал оушен
источник

OK

Oleksandr Khotemskyi in JS for testing
Artem
Падает на вейтере:  element ("iframe[name="__privateStripeFrame5"]") still not displayed after 12000ms
Локально впн есть?
источник

A

Artem in JS for testing
дроплет не дешевый 8 гиг оперативы,  локально нет впн
источник