Тестовое задание JS + WebdriverIO + Selenoid
Шаги:
- Открыть eapteka.ru.
- Ввести запрос “Фенибут” в поисковую строку.
- Нажать кнопку “Найти”.
- Выбрать любое лекарство, которое имеет плашку “Продажа строго по рецепту в аптеке”.
- Нажать на товар.
- На карточке товара убедиться, что открылся именно товар с тем же названием, по которому и был произведён клик в шаге 5.
Основные критерии готовности:
- Проект оформлен по паттерну Page Object.
- Тесты запускаются в локальном Selenoid в браузере Google Chrome.
- К проекту приложена инструкция в readme, которая позволяет запустить тест человеку, у которого нет нужного ПО. Список необходимых программ, при необходимости инструкция по установке(предполагается, что запуск будет произведен на MacBook).
Бонусные очки:
- Подключен Allure отчет и добавлена информация по работе с ним в readme.md.
- Есть возможность запуска теста в десктоп режиме браузера и в режиме мобильной эмуляции, управление через флаг или переменную окружения в команде запуска (допустимо через useragent, без appium’а).
ИНСТРУКЦИЯ:
В первую очередь установите ПО необходимое для копирования и запуска тестов
-
Git - для клонирования репозитория с тестами Скачать и установить можно по ссылке https://git-scm.com/download/mac
-
Node.js и менеджер пакетов npm Инструкция по установке https://nodejs.org/ru/download/package-manager/#macos Или можно скачать установочный файл по ссылке https://nodejs.org/en/download/
-
Docker - ПО для автоматизации развертывания приложений (в нашем случае контейнера с браузерами). Скачать и установить можно по ссылке: https://www.docker.com/get-started
рекомендации по настройке запуска
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker SOMEUSERNAME // "SOMEUSERNAME" Изменить на свой username пользователя системы
-
Selenoid - ПО для запуска браузеров в контейнерах Docker. Подробная инструкция по установке, настройке и запуску: https://aerokube.com/selenoid/latest/
Основное:
4.1. Docker должен быть установлен
4.2. Скачать менеджер конфигурации для автоматической настройки Selenoid
https://github.com/aerokube/cm/releases/tag/1.8.1 либо скачать последний релиз по ссылке: https://aerokube.com/cm/latest/
4.3. Меняем права доступа к файлу менеджера конфигурации
chmod +x cm
4.4. Запускаем Selenoid и Selenoid UI
для загрузки изображений с сервера VNC (чтобы увидеть экран браузера в реальном времени) используется --vnc флаг
/cm selenoid start --vnc
/cm selenoid-ui start
Selenoid https://localhost:4444/
Selenoid UI https://localhost:8080/
-
Клонируем репозиторий с тестами https://github.com/timestampx/eapteka
git clone https://github.com/timestampx/eapteka.git
-
В каталоге с тестами выполнить
npm install для загрузки node_modules
-
Запустить все тесты проекта командой npx wdio run ./wdio.conf.js
-
Allure - для генерации и просмотра результатов тестирования.
Установите инструмент командной строки, инструкция: https://www.npmjs.com/package/allure-commandline
Продублирую:
8.1. Установить Java https://www.java.com/ru/download/help/mac_install.html
8.2. Выполните команду, которая сгенерирует отчет и откроет его в браузере
npm install -g allure-commandline --save-dev
в последствии генерировать отчет можно командой allure generate [allure_output_dir] && allure open
Настроить под свои нужды отчет можно с помощью методов и апи, подробнее по ссылке: https://webdriver.io/docs/allure-reporter/