TestSprite CLI уже доступен — открытый код.Поставьте звезду на GitHub

Настоящие браузерные тесты в вашем конвейере GitLab CI

CLI TestSprite нужен только API-ключ в окружении: ни файла учётных данных, ни браузерных бинарников, которые пришлось бы ставить в runner. Прогоните набор до настоящего вердикта, пусть код возврата управляет задачей, и отдайте GitLab отчёт JUnit, который он отображает прямо в merge request.
Type
Solution
Language
Русский

Бесшовная интеграция с вашими редакторами для Android и редакторами на базе ИИ

Claude CodeCodexAndroid StudioVisual Studio CodeCursorTrae
Наш GitHub App слушает события развёртывания, и эта часть работает только с GitHub. В GitLab ответ — CLI: те же тесты, то же выполнение в облаке, но запускает их ваш конвейер.

Две переменные, никаких конфигов

Задайте TESTSPRITE_API_KEY как замаскированную переменную CI/CD, и CLI аутентифицируется из окружения. В ~/.testsprite ничего не пишется — именно это и нужно в одноразовом runner.

Никаких браузеров в вашем runner

Выполнение идёт в облаке TestSprite против настоящих браузеров, поэтому задача ставит только CLI. Это убирает самый медленный шаг холодного конвейера — скачивание и кеширование браузерных бинарников.

JUnit, который GitLab отображает

--report junit --report-file <путь> пишет отчёт. Укажите на него artifacts:reports:junit, и GitLab покажет результаты по каждому тесту в виджете merge request.

Код возврата и есть барьер

--wait блокирует, пока все запуски не завершатся, поэтому код 0 означает, что все тесты действительно прошли, а не что их успешно отправили. Задокументированные коды отличают упавший тест (1) от проблемы аутентификации (3) или исчерпанного баланса (12).

Priority
Test
Status
HIGH
TC001_Review_App_Reachable
Pass
HIGH
TC002_Signup_Flow_Completes
Failed
MEDIUM
TC003_Merge_Request_Env_Serves_Build
Pass
MEDIUM
TC004_API_Contract_Matches_Schema
Pass
LOW
TC005_Locale_Switch_Persists
Warning

Закройте merge request настоящим браузером

Юнит-тесты подтверждают, что код делает то, для чего он написан. Только прогон против вашего review app подтверждает, что то, что вы вот-вот вольёте, действительно работает.

Для команд, которые выпускают на GitLab

Работает с review app

Перед запуском укажите проекту адрес review app: testsprite project update <id> --url "$CI_ENVIRONMENT_URL". Набор тестов остаётся прежним, пока цель меняется от merge request к merge request.

Зафиксируйте версию

Ставьте @testsprite/testsprite-cli@<version>, а не следуйте за latest, чтобы новый релиз никогда не менял поведение конвейера без коммита.

Фронтенд и бэкенд одним барьером

Соберите веб-сценарии и контрактные тесты API в список тестов и запускайте его через testsprite testlist run, привязав каждый проект к своему окружению.

Бесплатная community-версия

Мы предлагаем бесплатную community-версию, доступную всем.

Нам доверяют компании по всему миру

"Отличная работа! Очень крутой MCP от команды TestSprite! Для наших Android-приложений связка ИИ-кодирования и ИИ-тестирования замыкает цикл разработки и ускоряет выпуск стабильных релизов."

"Для Android сгенерированные тесты TestSprite чистые и надежные. Сценарии Appium легко расширять и отлаживать, а запуски по расписанию поддерживают хорошее покрытие устройств."

"Автоматизация от TestSprite значительно сократила наше ручное QA для Android. Разработчики выявляют и исправляют мобильные баги на ранних стадиях, что позволяет нам выпускать релизы вовремя."

Часто задаваемые вопросы

Работает ли интеграция GitHub App с GitLab?

Нет: та интеграция слушает события развёртывания GitHub и работает только с ним. В GitLab вы запускаете прогон из конвейера с помощью CLI, которому нужен лишь TESTSPRITE_API_KEY в окружении.

Как показать результаты в merge request?

Напишите отчёт через --report junit --report-file testsprite-junit.xml и объявите его в artifacts:reports:junit. GitLab отобразит результаты по каждому тесту в виджете merge request.

Как тестировать review app, адрес которого каждый раз меняется?

Обновляйте адрес проекта первым шагом задачи, используя переменную самого GitLab: testsprite project update <id> --url "$CI_ENVIRONMENT_URL". Набор остаётся на месте, пока цель движется.

А если приложение требует входа?

Сохраните тестовую учётную запись в проекте через --username и --password-file; оба параметра обязательны вместе. Без них исследование и прогоны видят только публичные страницы, и это предупреждение, а не провал.

CLI с открытым исходным кодом?

Да: CLI с открытым исходным кодом распространяется под лицензией Apache-2.0 и ставится из npm бесплатно. Требуется Node 20.19+, 22.13+ или 24+. Тесты выполняются в облаке и расходуют кредиты рабочего пространства.

Можно ли пробовать команды, не тратя кредиты?

Да. --dry-run проходит весь путь кода офлайн на заготовленных данных, а test scaffold и test lint вообще не обращаются к сети и не трогают ваши учётные данные.

Добавьте в конвейер проверку настоящим браузером