Open BurovnikovEvgeniy opened 6 months ago
1) AfterAll функция не на своем месте 2) @DisplayName("...") зачем убрали :( 3) Хотелось бы больше дополнительных аннотаций 4) Лучше чтобы драйвер стартовал на каждый запуск теста 5) Неиспользуемые константы/ функции/переменные лучше удалить 6) Вопросы с . в локаторах не решены
Привет! 1) Обратите внимание на правила именование констант в Java. Как их обычно пишут? В каком регистре? checkNameVideo Хорошее название для локатора-константы ? 2) $(loginInput).shouldBe(visible); В целом это вполне рабочая строчка, однако хотелось бы явно залогировать эту проверку, с помощью функции because(...), это очень помогает и найти место падения, и понять его причину. У вас в работе местами встречаются такие конструкции без логов 3) Обратите внимание на составление локаторов. Это важная тема. Локаторы должны в полной мере реализовывать всем известное правило необходимого и достаточного. Они должны быть с одной стороны достаточно простыми и выразительными, а с другой максимально функциональными и надежными. Например, вы используете
//div[@class='nav-side __navigation __user-main']
Если вы так создаете локатор, то нужна ли вам.
в начале? Можно ли не указывать, что это блок div? Можно ли сослаться на другой, более выразительный, понятный и надежный атрибут ? 4) Представим, что вы пришли на проект и открываете его кодовую базу. Вам будет понятно, что за page, который имеет название NewPage, даже если вы +- знакомы с продуктом ? Что он делает? Он нам реально нужен ? 5) Попробуйте запустить все тесты сразу, каков будет результат ? Должны ли быть тесты атомарны друг относительно друга ? 6) Обратите внимание на модификаторы области видимости для ваших констант. Все указаны? 7)Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor)
можно ли вытащить из буфера обмена данные, использя функции Selenide? https://ru.selenide.org/2021/07/16/selenide-5.23.0/ 8) Хочется усложнить проект. Больше Пейджей, более сложные тест кейсы. И взять другие аннотации junit @Nested, @ParameterizedTest или @TestFactory (на выбор) 9) Если вы используете @Tag("...") или @DisplayName("..."), то я бы рекомендовал использовать эти аннотации для всех ваших тестов. В реальности, конечно, @DisplayName используется меньше, но хотелось бы увидеть ваше мастерство использования данных конструкций 10) Thread.sleep(5000); В подавляющем большинстве случаев без слипов можно обойтись, подумайте, как это можно сделать и какие механизмы задействовать. Потом можете проверить, насколько быстрее/медленнее стали работать ваши тесты 11) Неиспользуемые константы и функции лучше удалить 12) Функции проверки реально должны что-то проверять. Странно когда они что-то кликает.(checkOpenMessenger) Более того, часто логичнее выстраивать логику проверки в самом тесте, а в Пейдже работать с локаторами и получать по ним данные