⚡️ 10 промптов для QA-автоматизатора
галлюцинации в сгенерированном коде — главная боль. Решение: хирургически точный промпт. Как эксперт по промпт-инжинирингу, делюсь десяткой шаблонов, которые заставят ИИ выдать чистый, рабочий код с первого раза. Копируйте и адаптируйте под свой стек.
—
1. Чистый Pytest + Page Object
Напиши Python + Pytest + Selenium тест для https://example.com/login. Строго по Page Object Model. Проверь вход с валидными [логин:пароль]. Верни только код файлов \pages/login_page.py\ и \tests/test_login.py. Без пояснений.
👉 Зачем: Жесткие рамки фреймворка и запрет на болтовню отсекают выдуманные методы.
2. Только Assert, только суть (API)
Python + requests + pytest. POST /api/order. Payload: {“item”: “book”}. Проверь: status_code == 201, ‘id’ in response.json(). Используй фикстуру base_url. Выдай только содержимое def test_create_order(): .
👉 Зачем: Конкретная проверка вместо “напиши тест”. ИИ не придумает лишних валидаций.
3. Селектор без фантазий (Playwright)
Playwright JS. Найди кнопку “Добавить в корзину” на странице товара. Селектор должен быть устойчивым (data-testid или точный текст). Напиши только строку локатора в формате: page.locator(‘…’).click().
👉 Зачем: Просим конкретный артефакт, а не весь тест. Исключаем хрупкие XPath, придуманные нейросетью.
4. JSON Schema с нюансами
Сгенерируй JSON Schema для ответа GET /user/1. Поля: id (int), name (str), email (формат email). Только валидный JSON код. Без Markdown разметки.
👉 Зачем: Уточнение “только валидный JSON” экономит время на вырезание обрамляющих комментариев из ответа.
5. Генерация данных под бизнес-логику
Создай Python-функцию generate_user(role=‘admin’). Возвращает dict с полями: name (str), age (int, 25-60), email (str, валидный вид). Только код функции, без примеров вызова.
👉 Зачем: Ограничение возраста предотвращает генерацию пользователей 150 лет или с отрицательным возрастом.
6. Allure шаг без украшательств
Добавь в код Pytest: with allure.step(‘Проверка баланса’): assert balance > 0. Только блок with, вставь его туда, где комментарий # ALLURE-STEP.
👉 Зачем: Точечная правка существующего кода. ИИ не пытается переписать весь файл, если мы четко указали место.
7. SQL запрос для проверки БД
Напиши SQL запрос (PostgreSQL) для проверки, что запись с id=5 имеет статус ‘ACTIVE’. Только SELECT запрос, одна строка.
👉 Зачем: Минимум контекста — минимум шансов на неправильный синтаксис JOIN для несуществующих таблиц.
8. Конфиг без лишних строк (Selenide/Java)
Selenide Java. Конфигурация для запуска в Docker-контейнере (remote url). Покажи только блок Configuration.remote = “…”; без импортов и класса.
👉 Зачем: QA часто нужно настричь кусков конфигов. Без импортов код короче и не содержит ошибок в именах пакетов.
9. Ревью чужого AI-кода
Проанализируй код ниже. Найди потенциальные race conditions и проблемы с ожиданиями в Selenium. Ответ в формате: “Строка 10: проблема - … Исправление: …”. Без похвалы коду.
👉 Зачем: Формат ответа блокирует стандартную привычку LLM разводить рассуждения “Это отличный код, но…”.
10. Заглушка WireMock за секунду
Создай mapping файл (stub) для WireMock. URL: /status. Возвращает 200 OK и тело {“status”: “ok”}. Только JSON для папки mappings.
👉 Зачем: Привычный паттерн для ручного написания стабов, теперь просто в промпте.
—
💎 Совет дня: Замените в своих привычных промптах фразу “Напиши тест” на “Верни только содержимое метода test_… без комментариев”. Разница в чистоте выдачи будет неплохая.
Сохраняйте в избранное, чтобы не искать в нужный момент 🔖 #промпт_инжиниринг #qa_automation #ai_tools
· 12.04
Берут и хлеб забирают... 😁 Ладно, согласен, что создание тестового фреймворка - это рутина и можно это ИИ отдать
ответить
коммент удалён