Ваш тест-план — это JSON-файл. Обращайтесь с ним соответственно.
Каждый тест-план TestSprite — это обычный JSON-файл из шагов action и assertion. Заберите его командой testsprite test code get, закоммитьте, смотрите diff в pull request и дайте коллеге на ревью — вместо того чтобы оставлять его запертым внутри проприетарного GUI-рекордера.
Встроено в тот же CLI, которым вы уже пользуетесь
Обычный JSON, а не чёрный ящик
Каждый тест-план — это читаемый JSON-файл из явных шагов action и assertion: его можно открыть, прогнать через grep и точно понять, что он делает, не переигрывая запись.
Коммитьте его как любой другой файл
Поскольку тест-план — это файл на диске, он живёт в вашем репозитории рядом с кодом, который тестирует, — так же отслеживается, ветвится и версионируется.
Смотрите diff в pull request
Изменение тест-плана даёт настоящий git diff — ревьюер видит, какой именно шаг изменился, вместо того чтобы верить на слово, что перезаписанный сценарий делает то же самое.
Редактируйте напрямую
Заберите исходный файл командой testsprite test code get, вручную измените шаги в редакторе и отправьте обратно командой testsprite test code put.
$ testsprite test code get TC_checkout_promo
Wrote test-plans/TC_checkout_promo.json
$ git diff test-plans/TC_checkout_promo.json
{
"action": "click #promo-code-input",
- "assertion": "input is focused"
+ "action": "type '10PERCENT' into #promo-code-input",
+ "assertion": "discount line shows -10%"
}
$ testsprite test code put TC_checkout_promo
Updated test plan from local file
Хватит проверять покрытие тестами по видеозаписям экрана
Записанный сценарий живёт внутри проприетарного инструмента, поэтому коллеге приходится либо верить ему на слово, либо перезапускать его, чтобы понять, что изменилось. JSON тест-план можно включить в тот же pull request, что и код, который он тестирует, и проверить его точно так же.
Создано для команд, которые уже проверяют код на ревью
Вписывается в существующий workflow
Тест-план находится в том же репозитории и том же pull request, что и изменение, которое он покрывает, — проверяется теми же привычками работы с git diff, которые уже есть у вашей команды.
Создайте каркас, потом доработайте
testsprite test scaffold генерирует начальный тест-план; testsprite test lint проверяет его структуру перед коммитом.
Бесплатная community-версия
Есть бесплатная community-версия, благодаря которой CLI доступен каждому.
Работает в связке со сравнением прогонов
Когда тест-план версионирован, используйте testsprite test diff, чтобы сравнить два прогона по нему и увидеть, что именно изменилось в поведении.
Нам доверяют компании по всему миру
"TestSprite предлагает богатую генерацию тест-кейсов, четкую структуру и легко читаемый код. Он также поддерживает простую онлайн-отладку с возможностью быстрого расширения путем генерации новых тест-кейсов."
"Автоматизация TestSprite помогает нам сократить огромное количество ручной работы. Разработчики могут легко обнаруживать и устранять ошибки на более ранних этапах процесса разработки."
Часто задаваемые вопросы
Что значит, что тест-план — это «просто JSON»?
Каждый тест-план — это обычный JSON-файл из шагов action и assertion — никакого проприетарного формата и бинарной записи, поэтому он открывается в любом редакторе и чисто сравнивается через diff в git.
Как получить исходный файл тест-плана?
testsprite test code get <testId> забирает JSON на ваш локальный компьютер. Отредактируйте шаги напрямую, затем отправьте изменения обратно командой testsprite test code put.
Может ли коллега проверить тест-план так же, как проверяет код?
Да — поскольку это JSON-файл, который можно сравнивать через diff, он может войти в тот же pull request, что и изменение, которое тестирует, и пройти ревью через обычный git diff, а не видеозапись экрана.
Нужно ли создавать каждый тест-план с нуля?
Нет — testsprite test scaffold генерирует начальную структуру, а testsprite test lint проверяет её перед коммитом.
А если нужно сравнить два прогона тестов, а не две версии файла?
Для этого есть testsprite test diff — он сравнивает два прогона, чтобы показать, что изменилось при выполнении, отдельно от истории самого тест-плана в git.