Size: a a a

2019 November 12

AB

Alexei Barantsev in JS for testing
Vitalii Grygoruk
жадный инструмент без переискывания отлично подходит для тестов более низкого уровня (компоненты например). Для е2е тестов это только боль и страдание, особенно если ваши разработчики / тестеры не супер гуру в вебдрайвере и не знают вдоль и впоперек как он работает под капотом
да, я ровно об этом в самом начале дискуссии и написал: "потому что над инструментами иногда хочется написать свою обертку, со своей логикой поиска"
источник

VG

Vitalii Grygoruk in JS for testing
согласен
источник

AB

Alexei Barantsev in JS for testing
а конечным пользователям хочется поменьше думать и побольше сценариев строчить :)
источник

IM

Ilya Murashka in JS for testing
а то вот так получается
источник

AB

Alexei Barantsev in JS for testing
элементы на странице скачут как бешеные кролики, пропадают, исчезают? пофиг, переищем. кликает не туда? пофиг, локаторы навернём пожирнее
источник

VG

Vitalii Grygoruk in JS for testing
ну по-хорошему такие вещи нужно тестировать уровнем ниже, вот там и без оберток и падать если лишний re-rendering происходит
источник

AB

Alexei Barantsev in JS for testing
увы, в современных приложениях (которые на реакте или вуе, с виртуальным домом) другого пути, похоже, нет. потому что дом рендерится постоянно...
источник

OK

Oleksandr Khotemskyi in JS for testing
Alexei Barantsev
увы, в современных приложениях (которые на реакте или вуе, с виртуальным домом) другого пути, похоже, нет. потому что дом рендерится постоянно...
та да, раньше было лучше. Но оно и сейчас неплохо, потому что дальше будет только хуже. Вот шадоудомы идут, webassembly всякие...
источник

AP

Alexander Popov in JS for testing
Alexei Barantsev
почему одинаковый? ленивый и жадный инструменты будут кликать по разным элементам
не не не...оба будут кликать на один, при одинаковом локаторе, только неленивый придется вызвать поиском явно после клика на В, а ленивый можно объявить в конструкторе
источник

AP

Alexander Popov in JS for testing
Alexei Barantsev
проблема в том, что о локаторах вы думаете в том месте, где декларируете элемент. и в этом месте сценария проверяете, что находится по этому локатору
не согласен. декларировать элемент можно с любым локатором, и в ленивых библиотеках можно вполне себе подумать о том как искать элемент когда он будет нужен, но задекларировать его где то раньше, когда его еще нет в доме, в этом же и фишка
источник

OI

Oleksii Ihnatiuk in JS for testing
кажись надо писать фронт и разные виды имплементации и чекать что куда кликнет
источник

AP

Alexander Popov in JS for testing
Vitalii Grygoruk
жадный инструмент без переискывания отлично подходит для тестов более низкого уровня (компоненты например). Для е2е тестов это только боль и страдание, особенно если ваши разработчики / тестеры не супер гуру в вебдрайвере и не знают вдоль и впоперек как он работает под капотом
а тесты более низкого уровня это еще селениум?
источник

AP

Alexander Popov in JS for testing
я нашел что разница только эстетическая, когда декларировать, в конструкторе или в спец функциях "геттерах", при одинаковых локаторах
источник

AB

Alexei Barantsev in JS for testing
Alexander Popov
не согласен. декларировать элемент можно с любым локатором, и в ленивых библиотеках можно вполне себе подумать о том как искать элемент когда он будет нужен, но задекларировать его где то раньше, когда его еще нет в доме, в этом же и фишка
в жадных это разнесение деклараций легко решается — заранее декларируете локаторы, а используете их ровно тогда, когда нужно выполнить поиск
источник

AP

Alexander Popov in JS for testing
Alexei Barantsev
в жадных это разнесение деклараций легко решается — заранее декларируете локаторы, а используете их ровно тогда, когда нужно выполнить поиск
скорее функции, т.к. может быть больше одного локатра\типа локатора\фильтры
источник

AB

Alexei Barantsev in JS for testing
или функции, да
источник

AP

Alexander Popov in JS for testing
ну такое, можно конечно, но одной строчкой симпатичнее как то чем функцию на каждый элемент
источник

AP

Alexander Popov in JS for testing
это я и назвал эстетикой
источник

VG

Vitalii Grygoruk in JS for testing
Alexander Popov
а тесты более низкого уровня это еще селениум?
что угодно, инструмент не важен. Это тесты которые тестируют логику работы UI в изоляции. Есть у вас реакт компоненты - тестируйте их отдельно и в компоновке без бекенда. Хотите - тестируйте с селениумом хотите с другим инструментом. Важно то для чего эти тесты делаются
источник

AB

Alexei Barantsev in JS for testing
Alexander Popov
ну такое, можно конечно, но одной строчкой симпатичнее как то чем функцию на каждый элемент
функция это тоже одна строчка так-то
источник