«Недавно Cypress представил экспериментальную функцию, которая может изменить способ написания автотестов. Функция cy.prompt генерирует автотесты из промптов на обычном языке. Идея заключается в том, чтобы написать шаги теста на простом английском языке, а Cypress сгенерирует весь код.
Как это работает
cy.prompt использует генеративный ИИ для перевода указаний на естественном языке непосредственно в исполняемый код для Cypress. Вместо того чтобы вручную кодировать каждый шаг теста, мы описываем нужные действия, а Cypress «переведет» их в свой код. Цель этой функции — сэкономить время и силы на написание автотеста.
Вместо того чтобы писать:
cy.visit('/login')
cy.get('#username').type('testUser')
cy.get('#password').type('secret')
cy.get('button[type="submit"]').click()
cy.contains('Welcome, testUser').should('be.visible')
Можно просто писать так:
cy.prompt([ "Visit login page", "Enter username 'testUser' and password 'secret'", "Click login button", "Verify user sees welcome message" ])
Cypress тоже внедряет ИИ
Сейчас к командам разработчиков предъявляются повышенные требования: быстрая доставка, высокое качество, и хорошее тестовое покрытие.
- Быстрое создание тестов: Меньше времени на написание сценариев и больше — на тестирование сложных сценариев.
- Низкий входной барьер: Новые тестировщики в команде, не знакомые с синтаксисом Cypress, могут сразу же начать работать.
- Сокращение обслуживания тестов: Self-healing в Cypress означает уменьшение количества падающих тестов после незначительных изменений UI.
Ограничения
cy.prompt сейчас в экспериментальной стадии, и тестировщики должны учитывать это:
- Нестабильность: Тщательно проверяйте сгенерированный код при первом его использовании.
- Сложные сценарии: В некоторых случаях может потребоваться ручное выполнение сценариев.
- Ранний доступ: В настоящее время фича доступна лишь в программе раннего доступа Cypress.
Рекомендации
Чтобы получить максимальную отдачу от этой новой фичи:
- Сочетайте промпты с ручным редактированием: Пусть ИИ генерирует «начальные» тесты, а затем вручную улучшает/оптимизирует их.
- Постепенное внедрение: Постепенно внедряйте cy.prompt в свой рабочий процесс.
- Понятные промпты: Используйте простые и прямые формулировки, чтобы добиться от ИИ наилучших результатов.
В Cypress планируют совершенствовать эту фичу, что касается сложных взаимодействий и предсказаний селекторов.»
Видео — Automating Browsers using Natural language — YouTube