IvAlexsay / autotest_vkpolis

0 stars 0 forks source link

Ревью #1

Open blaackpanter opened 1 year ago

blaackpanter commented 1 year ago

Папку .idea нужно убрать, прописать в gitignore.


Тесты лучше убирать в отдельный package, например, tests.


OkLogin можно переназвать как BaseTest и положить в package к тестам. https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/Templates/OkLogin.java#L15


Работа с пейджами обычно идет в самом тесте, лучше это вынести туда. Может быть тест с проверками только на странице логина, прокидывать пейдж из метода в тестовый метод не очень хорошо. Но в целом правильно, что логин метод отдельно, а не сразу в openOk(), потому что могут быть тесты, где логин нам не нужен (проверка анонимки). https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/Templates/OkLogin.java#L28


Хорошо: Один тестовый метод - один класс. Тест атомарен. Он не берет никакую информацию от других тестов. Один тест - минимум одна проверка через ассерт. Все проверки с should, shouldHave должны быть в пейджах. Нужно переделать в каждом тесте на проверки с ассерт. Как в тесте MatchersTest.


Название тестового класса лучше делать как можно понятнее. В данном случае лучше TestCheckLogin, например. https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/OkTests.java#L11


Вот так в самом методе логиниться лучше. Метод логина из OkLogin можно убрать. https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/OkTests.java#L16


Локаторы в тесте не используем, только в пейджах. https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/OkMessengerTests.java#L22


Лучше уйти от метода из OkLogin, но если использовать, то нужно BeforeEach, чтобы перед каждым тестовым методом выполнилось. Иначе у нас одна сессия логина на два теста, чего быть не должно. https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/OkMessengerTests.java#L26


Работа с урлами только в базовом классе (OkLogin). https://github.com/IvAlexsay/autotest_vkpolis/blob/559921cb55f1428d9df08d59458aa3ddf6ff2665/src/test/java/OkMessengerTests.java#L36


Для всех пейджей: нет метода check(), в котором будет проверка на базовые элементы страницы, по котором мы поймем, что страница прогрузилась. И перед тем, как кликать на элемент, брать текст и т.д. лучше проверять, что элемент присутствует. Метод check() может вызываться из конструктора класса.

IvAlexsay commented 1 year ago

Все замечания обработал, исправил!