Настоящие браузерные тесты в вашем конвейере GitLab CI
Бесшовная интеграция с вашими редакторами для Android и редакторами на базе ИИ
Две переменные, никаких конфигов
Задайте 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).
Закройте 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 вообще не обращаются к сети и не трогают ваши учётные данные.