Open eliizaveta opened 1 year ago
Вот фикс: https://github.com/iampolshin/polis-vk-autotesting/commit/7accd3b0e1b776305f0dec97b202efbb8fa428d8
p.s. Я не понял, как так сделать. Пробовал через "." сделать цепочку, но тщетно
Вот фикс: 7accd3b
p.s. Я не понял, как так сделать. Пробовал через "." сделать цепочку, но тщетно
да, действительно, не увидела, что там поиск нескольких элементов
По исправлениям
Лучше выносить в BaseTest https://github.com/iampolshin/polis-vk-autotesting/blob/7accd3b0e1b776305f0dec97b202efbb8fa428d8/src/test/java/CorrespondenceListTest.java#L15
Лучше добавлять сообщения об ошибке https://github.com/iampolshin/polis-vk-autotesting/blob/7accd3b0e1b776305f0dec97b202efbb8fa428d8/src/test/java/CorrespondenceListTest.java#L18
Достаточно сделать в базовой странице такие действия и не тащить за собой https://github.com/iampolshin/polis-vk-autotesting/blob/7accd3b0e1b776305f0dec97b202efbb8fa428d8/src/test/java/pages/AuthorizationPage.java#L19-L25
Почему мы делаем это в конструкторе, а не тесте? https://github.com/iampolshin/polis-vk-autotesting/blob/7accd3b0e1b776305f0dec97b202efbb8fa428d8/src/test/java/pages/MessagePage.java#L23-L24
Я в тамтам https://tt.me/riinj
Лучше не делать переход на страницу по ссылке внутри конструктора. Как мы можем попасть на страницу логина? Например заходим на сайт, тогда это ок. Но еще мы можем нажать выйти со своей страницы и тоже попасть на страницу логина, но затем в конструкторе произойдет еще один переход. Кроме того, что он окажется лишним, мы можем пропустить баг, что, например, у нас получится выйти на какую-то другую страницу вместо логина. https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/AuthorizationPage.java#L21-L24
Теоретически мы проверили, что эти элементы есть на странице, но за время, что мы начнем с ними взаимодействовать они могли пропасть из зоны видения, лучше проверять видимость элементов прямо перед взаимодействиями и еще писать к ним сообщения об ошибке для более понятного вывода $(ELEM).shoudBe(visible.because("Нет элемента")).click() https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/AuthorizationPage.java#L34-L36
Почему у первого элемента нет проверки на видимость :( https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/MainPage.java#L50-L53
Чтобы не переписывать везде этот метод, можно сделать базовую страницу, от нее наследовать все страницы, один раз его там переопределить и больше за собой не тащить https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/MainPage.java#L20-L23
Главный вопрос - выполняется ли вообще этот метод? Что сделать, чтобы он вызывался? https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/MainPage.java#L25-L28
Можно в одну строку https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/pages/MessagePage.java#L31-L32
Я бы спрятала это, в какой нибудь базовый тестовый класс https://github.com/iampolshin/polis-vk-autotesting/blob/f53cc6e67d243da3a94e226466966fb11b9f783f/src/test/java/OKTest.java#L32-L36
Сейчас все тесты в одном классе, возможно, из-за того, что у них общее предусловие? Я бы разделила тесты по логическим группам на классы (мы кстати придерживаемся стиля один тест = один класс, хотя сейчас тесты маленькие и в этом нет смысла, можно сразу привыкать к такому стилю, так как на самом деле тесты должны быть независимыми и чем дальше, тем сложнее они становятся) Так вот, чтобы у тестов было это общее предусловие и общее завершение (переход по ссылке на одноклассники и завершение сессии после), стоит использовать базовый тестовый класс и наследовать тесты от него