Ответ
Мой стек для написания автотестов зависит от типа тестирования и технологии приложения.
1. Юнит-тесты:
- Java: JUnit 5, Mockito для мокинга, AssertJ для удобных assertions.
- JavaScript/TypeScript: Jest, иногда Mocha + Chai.
2. API-тесты:
- Основной инструмент: REST Assured для Java или Supertest для JS. Они интегрируются с тем же JUnit/Jest.
@Test public void createUserReturns201() { given() .contentType(ContentType.JSON) .body("{"name": "John"}") .when() .post("/api/users") .then() .statusCode(201) .body("name", equalTo("John")); } - Для SOAP — SoapUI или Zeep для Python.
3. E2E-тесты для веба:
- Selenium WebDriver + Java + TestNG: Для больших проектов. Собираю в связке с Selenide для более лаконичного синтаксиса.
- Cypress/Playwright: Для современных JS-проектов. Playwright нравится за скорость и кросс-браузерность.
4. Мобильные тесты:
- Android: Espresso для нативных тестов (пишу на Kotlin).
- Кросс-платформенные: Appium с тем же Selenium-подобным API.
5. Интеграция и управление: Все это упаковываю в Maven/Gradle проекты, запускаю из Jenkins или GitLab CI. Для отчетов использую Allure, который дает красивые дашборды с шагами, скриншотами и историей запусков.