Testplane CLI
Testplane CLI позволяет управлять браузером из терминала.
Вы можете открывать страницы, проходить пользовательские сценарии, сохранять компактные DOM-снимки, смотреть логи консоли, сохранять состояние аутентификации, отлаживать отчеты Testplane и воспроизводить Time Travel snapshots. Инструмент полезен сам по себе, а также является основой для Testplane Skill.
Установка
Установите пакет в проект:
npm install --save-dev @testplane/cli
Затем запускайте его так:
npx @testplane/cli --help
Типовой сценарий
Самый простой способ использования — начинать с navigate. Если браузер еще не запущен, CLI запустит его автоматически.
npx @testplane/cli navigate https://example.com
npx @testplane/cli snapshot
По умолчанию браузеры CLI работают в headless-режиме. Если вы хотите видеть браузер во время отладки, сначала запустите его явно:
npx @testplane/cli launch --headless false
npx @testplane/cli navigate http://localhost:3000
Когда закончите:
npx @testplane/cli close-browser
Если не закрыть браузер вручную, по умолчанию он закроется через 5 минут неактивности.
Как выглядит вывод
Большинство браузерных команд возвращают три полезных блока информации: результат действия, эквивалентный код Testplane и текущее состояние браузера.
Successfully navigated to https://example.com
## Testplane Code
await browser.openAndWait("https://example.com");
## Browser Tabs
1. Title: Example Domain; URL: https://example.com/ (current)
## Current Tab Snapshot
The snapshot was saved to: /tmp/.testplane/snapshots/2026-05-14T21-24-40-811Z.yml
Снапшоты оптимизированы для людей и агентов, читающих вывод терминала. По умолчанию они убирают шумные теги и атрибуты, обрезают очень длинный текст и сохраняют большие снимки во временный файл вместо переполнения терминала.
Навигация и инспекция страниц
Используйте navigate с увеличенным таймаутом для медленных локальных приложений или CI-окружений:
npx @testplane/cli navigate http://localhost:3000 --timeout 60000
Используйте snapshot, чтобы понять структуру страницы:
npx @testplane/cli snapshot
Вы можете настроить снимок, если вывод по умолчанию скрывает что-то важное:
npx @testplane/cli snapshot --include-attrs data-qa href class --max-text-length 200
Используйте screenshot, когда нужны визуальные подтверждения:
npx @testplane/cli screenshot ./tmp/page.png
Для большинства задач отладки тестов начинайте с snapshot. Его быстрее читать, проще искать по нему, и обычно этого достаточно, чтобы найти нужный селектор или состояние.
Взаимодействие с элементами
Команды принимают либо селектор, либо семантические опции в стиле Testing Library.
npx @testplane/cli click '[data-testid="submit"]'
npx @testplane/cli click --role button --name "Submit"
npx @testplane/cli type --label-text "Email" --value "user@example.com"
npx @testplane/cli wait --text "Saved" --timeout 5000
Для нативных элементов <select>:
npx @testplane/cli select "#country" --visible-text "Germany"
npx @testplane/cli select --label-text "Country" --value de
npx @testplane/cli select --label-text "Country" --index 2
После действия CLI сообщает итоговое состояние браузера. Это полезно, когда клик приводит к навигации или заменяет элемент, с которым вы только что взаимодействовали.