Как запускал автотесты на последнем месте работы

«Как запускал автотесты на последнем месте работы» — вопрос из категории Фреймворки тестирования, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

На последнем проекте мы выстроили полноценный CI/CD-конвейер для автоматического запуска тестов.

Стек технологий:

  • CI/CD Сервер: GitLab CI.
  • UI-тесты: Selenium WebDriver 4 + JUnit 5, Page Object Model.
  • API-тесты: RestAssured.
  • Контейнеризация: Запуск браузеров в Docker-контейнерах через Selenoid.
  • Отчетность: Allure Report, интеграция с GitLab.

Сценарии запуска:

  1. На каждый Pull Request: Запускался smoke-сет API и UI-тестов для проверки критичного функционала.
  2. Ночные регрессионные прогоны: Полный набор тестов запускался по расписанию.
  3. Ручной запуск: Возможность запустить конкретный тест или набор через GitLab UI с параметрами (например, ENV=staging).

Пример .gitlab-ci.yml для запуска UI-тестов:

stages:
  - test

ui_tests:
  stage: test
  image: maven:3.8-openjdk-11
  services:
    - selenoid/chrome:latest
  variables:
    SELENOID_URL: "http://selenoid:4444/wd/hub"
  script:
    - mvn clean test -Dtest=UISmokeTest -Dbrowser=chrome
  artifacts:
    when: always
    paths:
      - target/allure-results
  after_script:
    - mvn allure:report

Результат: После каждого прогона в GitLab появлялся Allure-отчет с деталями по каждому тесту: шаги, скриншоты на падения, логи. Это позволяло быстро локализовать проблему.