Skip to content

Latest commit

 

History

History
71 lines (63 loc) · 5.22 KB

README.md

File metadata and controls

71 lines (63 loc) · 5.22 KB

Содержание

Build

В окружении должна быть установлена (и прописана в PATH) java не ниже 11 версии и добавлена переменная среды JAVA_HOME.

Запуск тестов:

./mvnw verify -DuseBrowserProfile=false

Сгенерировать и открыть отчет:

./mvnw allure:install
./mvnw allure:serve

Allure report

Здесь два подраздела. Ссылка на наиболее содержательный отчет здорового человека находится во втором.

1. Удаленные запуск и деплой отчета джобой "GitHub Actions"

При запуске в CI применять мой метод обхода капч затруднительно, поэтому результат оставляет желать лучшего. Тем не менее посмотреть отчет можно по этой ссылке, причем относительный интерес, по понятным причинам, представляет собой только этот удачливый тест из предыдущего запуска.
Как ни странно, могло быть и хуже (подробнее см. в заметке Удаленное противо-captcha-стояние).

Поэтому более целесообразным представляется выполнить...

2. Запуск локально и деплой отчета руками

Здесь уже руки не связаны, поэтому результат соответствующий.

Требования

Стек

Использовать BDD подход и фреймворк Cucumber

Тест-кейс

  1. Открыть браузер и развернуть на весь экран.
  2. Зайти на https://ya.ru/
  3. Нажать на строку поиска -> Кликнуть по Маркет
  4. Перейти в Каталог -> Навести курсор на раздел Электроника
  5. Выбрать раздел Смартфоны
  6. Задать параметр «Производитель» Apple.
  7. Дождаться результатов поиска.
  8. Убедиться, что в выборку попали только iPhone. Если страниц несколько – проверить все.

Тест должен работать для любого производителя из списка:

  • ASUS
  • Black Shark
  • OnePlus
  • Google
  • Seals

Прочее

  • Тест разбит на шаги. Коллега без знаний программирования по аллюр отчету должен понимать что делает тест, какие проверки происходят
  • Тест должен быть параметризован
  • Необходимо использовать константы через проперти файл
  • Все ассерты должны быть переопределены
  • Если в коде используются циклы, необходимо исключить возможность бесконечного цикла
  • Обязательно использовать Джава док для всех методов и переменных. На русском языке
  • Недопустимо использования Thread.sleep и Трай\кетчи. За исключением, создания собственных ожиданий (к примеру каждый 5 миллисекунд проверяем что что-то случилось, и так не более 10 секунд.). Лучше обойтись явными\неявными ожиданиями
  • Помните про универсальные методы. Старайтесь писать код, полезный в других тестах, полезный коллегам. Не будьте эгоистами!
  • XPath не должен содержать индексов, динамических элементов