diff --git a/README.md b/README.md index c906359..dcff3c1 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +## Автоматизация тест-кейса Яндекс Маркета +Автоматизация тест-кейса на связке Maven, Selenium, JUnit5, Allure. Документация на русском языке - согласно требованиям. ## Содержание - [Build](#build) - [Запуск тестов](#запуск) @@ -30,20 +32,27 @@ allure serve ## Allure отчет -#### Запуск тестов и деплой отчета джобой (GitHub Actions) -При запуске в CI обходить капчи моими методами труднее, поэтому результат оставляет желать лучшего. +### Запуск тестов и деплой отчета джобой (GitHub Actions) +При запуске в CI бороться с капчами сложнее, поэтому результат оставляет желать лучшего. Тем не менее посмотреть отчет можно по [этой ссылке](https://achitheus.github.io/SelenideTestCase/1), причем относительный интерес в нем, по понятным причинам, представляет собой только -[этот удачливый тест](https://achitheus.github.io/SelenideTestCase/1/#behaviors/f8b8261c1ab4fe7e959d48ef5aa7a754/645c56ffa9ef53d1/). +[этот удачливый тест](https://achitheus.github.io/SelenideTestCase/1/#behaviors/f8b8261c1ab4fe7e959d48ef5aa7a754/645c56ffa9ef53d1/): + +--- +![gif-ci](https://github.com/Achitheus/SelenideTestCase/blob/markdown-resources/selenide-CI-report.gif) + +--- Как ни странно, могло быть и хуже (подробнее см. в заметке [Удаленное противо-captcha-стояние](https://github.com/Achitheus/automationCucumber/blob/main/NOTES.md#удаленное-противо-captcha-стояние)). -*Поэтому более -целесообразным представляется выполнить...* +### Запуск локально и деплой отчета руками +Здесь руки не так связаны, поэтому [результат](https://achitheus.github.io/SelenideTestCase/local-run/) +соответствующий: + +--- +![gif-local](https://github.com/Achitheus/SelenideTestCase/blob/markdown-resources/selenide-local-report.gif) -#### Запуск локально и деплой отчета руками -Здесь уже руки не связаны, поэтому [результат](https://achitheus.github.io/SelenideTestCase/local-run/) -соответствующий. +--- ## Требования ### Тест кейс 1. Открыть браузер и развернуть на весь экран. @@ -90,21 +99,22 @@ Java, Junit Jupiter, Selenide, PageObject по стилю Selenide - На каждой странице пагинации по товарам можно выполнять сколько угодно проверок, если добавить их в ~~`marketCheckAllPages()`~~. "Падение" какой-либо из проверок не прерывает тест (использованы soft asserts). -**Update.** Эта ужасная функция удалена. Вместо нее использован `PageableChecker` (моя маленькая гордость). +**Update.** Эта ужасная функция удалена. Вместо нее использован `PageableChecker`, который пора бы уже вынести в отдельный подпроект и отдельно протестировать. - Даже если среди проверок не осталось "не упавших", тест не прерывается. Проверяются все чеки на всех страницах. **Update.** Чтобы использовать дефолтный "lazy" режим, достаточно убрать из теста -`.checkAllPages(true)`. В таком случае страницы проверяются пока остается хотя бы один незафейленный чек. + `.beLazy(false)`. В таком случае страницы проверяются пока остается хотя бы один незафейленный чек. При этом зафейленные чеки на последующих страницах не проверяются. - При наличии на странице нескольких товаров некорректных с точки зрения конкретного чека, отчет ~~не говорит сколько этих товаров, не выводит их список, а сообщает о первом попавшемся~~. **Update.** Теперь и количество сообщает. Кроме того если "плохих" элементов больше одного, помимо скриншота и веб-страницы в аттачментах появляется файл, -в котором перечислены они все. +в котором перечислены они все. +**Update2.** Все элементы-причины фейла всегда указываются в логах ошибки. - ~~К сожалению упавшие софт-ассерты плохо отображаются в отчете: галочки/стрелочки не меняют цвет с зеленого на красный. Пришлось тернарным оператором передавать разные сообщения для успешного и неуспешного выполнения таких ассертов (для последнего случая что-то бросающееся в глаза типа “`<<< FAIL >>> Имя товара не соотв…`”).~~ **Update.** Allure действительно официально не поддерживает `soft asserts`, но благодаря классу `AllureLifeCycle` -в `PageableChecker` с этим справиться удалось. +в `PageableChecker` с этим справиться удалось.