Files
pw/README.md
T

57 lines
2.6 KiB
Markdown

# OTUS Homework 8: Jenkins Jobs
Проект поднимает Jenkins в Docker и автоматически создает 2 job:
- `selenium-tests` для Selenium/Selenide тестов по Otus с выбором браузера;
- `mobile-appium-tests` для Appium тестов мобильного приложения с Allure-отчетом.
## Что входит в проект
- `Dockerfile`, `docker-compose.yml` — Jenkins с предустановленными инструментами.
- `init.groovy.d/` — автосоздание пользователя `admin/admin`, job и Allure CLI.
- `jobs/selenium-tests.xml` — job для `https://git.kovbasa.ru/otus-autotests/homework_4.git`.
- `jobs/mobile-appium-tests.xml` — job для `https://git.kovbasa.ru/otus-autotests/homework_7.git`.
## Требования
- Docker и Docker Compose.
- Доступ Jenkins-контейнера в интернет для клонирования репозиториев и загрузки Maven dependencies.
- Для Appium job:
- доступ к БД `jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist`;
- хост, на котором Docker может поднять `budtmo/docker-android`.
## Запуск
1. Поднять Jenkins:
```bash
docker compose up -d --build
```
2. Открыть `http://localhost:8081`.
3. Войти под `admin` / `admin`.
4. Убедиться, что автоматически созданы job:
- `selenium-tests`
- `mobile-appium-tests`
## Запуск job
### selenium-tests
Запускать через **Build with Parameters**. Рабочие значения по умолчанию:
- `REPO_URL=https://git.kovbasa.ru/otus-autotests/homework_4.git`
- `BRANCH=master`
- `BROWSER=chrome`
- `EXECUTION_MODE=local`
- `HEADLESS=true`
### mobile-appium-tests
Запускать через **Build with Parameters**. Рабочие значения по умолчанию:
- `REPO_URL=https://git.kovbasa.ru/otus-autotests/homework_7.git`
- `BRANCH=master`
- `DB_URL=jdbc:postgresql://sql.otus.kartushin.su:5432/wishlist`
- `DB_USER=student`
Обязательно заполнить:
- `DB_PASSWORD`
Опционально:
- `APP_URL` — если задан, APK будет скачан автоматически; если пусто, используется APK из репозитория `homework_7`.
## Результат
- Allure-отчет публикуется в каждой job после завершения билда.
- XML job лежат в каталоге `jobs/` и могут быть выданы как результат домашнего задания.