Создайте ИИ-агента для автотестирования приложения за 7 минут
Готовый набор автотестов из описания功能 - без кода и установки фреймворков
- 1.Откройте домашнюю страницу Playwright и нажмите «Get started». Браузер откроется на странице документации - это и есть ваша рабочая среда, ничего ставить на компьютер не нужно.
Playwright полностью бесплатен и поддерживается Microsoft. Для рецепта достаточно открытой вкладки с docs.
Playwright ↗ - 2.Перейдите в раздел Codegen: в левом меню выберите «Getting started» → «Codegen». Запустите инструмент записи - откроется окно браузера и панель Inspector. В адресной строке Inspector введите URL вашего приложения и нажмите Enter.
Codegen записывает каждое ваше действие в окне браузера и сразу превращает в готовый тестовый сценарий на JavaScript/TypeScript.
Playwright Codegen ↗ - 3.Пройдите основной сценарий приложения вручную: логин, создание сущности, переход по разделам. Нажмите Record, кликайте по элементам - Codegen фиксирует действия. В панели Inspector откройте вкладку «Assertions» и добавьте проверки: видимость текста, наличие кнопки.
Не пишите проверки сами - просто кликните по элементу в окне, затем выберите тип assertion (visibility, text, has text) в Inspector. Это и есть автотест.
Playwright Codegen ↗ - 4.Скопируйте сгенерированный код из панели Codegen (правая часть окна). Вставьте его в новый чат ChatGPT и добавьте инструкцию для ИИ-агента, который расширит и улучшит автотесты.
Бесплатного тарифа ChatGPT достаточно - gpt-4o-mini справляется. Не вставляйте токены, пароли prod-окружения или персональные данные пользователей.
ChatGPT ↗Об инструментеПромптHere is a Playwright test recorded with Codegen for my app. [PASTE RECORDED CODE HERE] Act as a QA automation agent. Do the following: 1. Add explicit assertions after every key action (page title, visible text, URL contains). 2. Wrap flaky network waits in waitForResponse / waitForLoadState('networkidle'). 3. Extract selectors into a selectors object at the top. 4. Add a data-testid strategy suggestion for [APP_NAME] in comments. 5. Output the final refactored test as a single ready-to-run file, plus a 3-bullet summary of what you changed. App description: [ONE-SENTENCE DESCRIPTION OF YOUR APP]Что делает этот промптАнглоязычный промпт: загружает записанный тест в ChatGPT и просит агента добавить проверки, убрать нестабильные ожидания, вынести селекторы и предложить стратегию data-testid. Замените [PASTE RECORDED CODE HERE] кодом из Codegen, [APP_NAME] - названием приложения, [ONE-SENTENCE DESCRIPTION] - одним предложением о том, что делает ваше приложение. - 5.Скопируйте итоговый тест из ответа ChatGPT. Возвращайтесь в Playwright: откройте «API testing» → вверху страницы выберите «Test runner». Вставьте код в онлайн-редактор Playwright (раздел «Try Playwright» на главной) и нажмите Run - тест выполняется прямо в браузере, установка не нужна.
Если онлайн-runner недоступен, скопируйте файл в репозиторий проекта и запустите командой npx playwright test - но для первого прогона достаточно Try Playwright.
Try Playwright ↗ - 6.Сохраните готовый тестовый файл в репозиторий. Вернитесь в ChatGPT и попросите агента сгенерировать ещё 3 негативных сценария (неверный пароль, пустые поля, удаление сущности) - используйте промпт ниже. Добавьте их в тот же проект - базовый ИИ-агент автотестирования готов.
Эти тесты можно запускать локально или в CI (GitHub Actions, GitLab CI) - Playwright официально поддерживается.
ChatGPT ↗Об инструментеПромптBased on the test above, generate 3 additional Playwright test cases for [APP_NAME]: 1. Login with invalid credentials - assert error message is visible. 2. Submit form with empty required fields - assert validation messages. 3. Delete an entity and verify it disappears from the list. Use the same selectors object. Output as a single file, one describe block with 3 it blocks.
Что делает этот промптАнглоязычный промпт: агент генерирует три негативных теста - неверные данные, пустые поля, удаление сущности. Замените [APP_NAME] на название вашего приложения.
- бесплатноGoogle AI Studio / Gemini APIБесплатный тариф: 15 запросов в минуту и 1500 запросов в сутки для модели gemini-1.5-flash. Карта не требуется.
- бесплатноPythonPython - бесплатный язык программирования с открытым исходным кодом, установка и использование ничего не стоят.
- бесплатноGoogle AI Studio Tuning (fine-tuning)Fine-tuning доступен в рамках бесплатного тарифа Gemini, но требует собственного датасета из 100 - 500 примеров. Текущие лимиты уточняйте на странице тарифов.
Почему сегодня
ИИ-сервисы быстро меняются - интерфейсы и бесплатные лимиты могут отличаться от описанных.