Ответ
В своей работе я применял различные языки и технологии, в зависимости от задач проекта и стека разработки:
-
Python: Основной язык для автоматизации тестов (pytest, unittest), написания скриптов и работы с API (библиотеки requests, httpx).
# Пример API-теста с pytest и requests import pytest import requests API_URL = "https://api.example.com/login" def test_successful_login(): credentials = {"username": "test", "password": "secret"} response = requests.post(API_URL, json=credentials) assert response.status_code == 200 assert "access_token" in response.json() assert response.json()["token_type"] == "Bearer" -
JavaScript/TypeScript: Для автоматизации веб-интерфейсов с использованием фреймворков Cypress и Playwright.
// Пример теста на Cypress describe('Homepage', () => { it('should load and display key elements', () => { cy.visit('/'); cy.get('[data-cy="header"]').should('be.visible'); cy.contains('Welcome').should('exist'); cy.get('nav a').should('have.length.at.least', 3); }); }); -
SQL: Для проверки целостности данных, валидации состояний после выполнения операций и подготовки тестовых данных.
-- Проверка, что пользователь создан после регистрации SELECT user_id, email, registration_date FROM users WHERE email = 'test@example.com' AND status = 'active'; -- Ожидаем ровно одну запись -
Дополнительные технологии:
- Java: Для работы с Selenium WebDriver и JUnit в проектах на Java.
- Bash/Shell: Для написания скриптов настройки окружения и интеграции с CI/CD.
- Postman/Newman: Для создания, запуска и автоматизации коллекций API-тестов.
- XML/JSON, HTML/CSS: Для веб-тестирования и валидации структур данных.
- Docker: Для развертывания изолированных тестовых сред.