Ответ
В своей работе QA Automation Engineer я в основном использую Java в связке с Selenium WebDriver для UI-тестирования и REST Assured или Apache HttpClient для API-тестирования. Фреймворки для организации тестов — JUnit 5 или TestNG.
Выбор Java обусловлен его статической типизацией (меньше ошибок на этапе написания кода), мощными инструментами рефакторинга (IDE) и тем, что многие enterprise-проекты, над которыми я работал, были написаны на Java или Kotlin, что упрощало интеграцию.
Пример простого API-теста на Java с REST Assured:
import io.restassured.RestAssured;
import org.junit.jupiter.api.Test;
import static org.hamcrest.Matchers.*;
public class ApiTest {
@Test
public void getUserShouldReturnValidData() {
RestAssured.given()
.baseUri("https://api.example.com")
.when()
.get("/users/1")
.then()
.statusCode(200)
.body("id", equalTo(1))
.body("name", not(emptyString()));
}
}
Также для специфических задач (скрипты для парсинга логов, быстрые прототипы) я использую Python с библиотеками pytest и requests. Для проектов с современным frontend на JavaScript/TypeScript рассматриваю Playwright или Cypress.