Test IT CLI

Test IT CLI — это утилита командной строки, которая помогает взаимодействовать с Test IT. Она позволяет легко и быстро собирать и загружать результаты ваших автоматизированных тестов, работать с любыми тестовыми фреймворками и интегрировать их.

Test IT CLI распространяется как пакет Python и легко устанавливается на любые платформы (Linux, Windows и macOS) и окружения (отдельные сервера, контейнеры docker, CI/CD системы и т.д.)

Основные преимущества

Основные преимущества Test IT CLI:

  • Простая и быстрая загрузка результатов автоматизированных тестов
  • Простая интеграция с CI/CD системами, такими как GitHub, GitLab, Jenkins и др.
  • Работа с любыми тестовыми фреймворками, которые поддерживают формат Junit XML
  • Поддержка параллельного запуска тестов
  • Простая установка на любые платформы и окружения

Установка

Для начала работы с Test IT CLI:

  • Установите пакет testit-cli из официального Python репозитория. После установки у вас появится возможность использовать утилиту testit из командной строки.
  • Для установки используйте команду:
$ pip install testit-cli
$ testit --help

usage: testit [options]
[...]

Большинство систем и окружений уже содержат установленный Python. Если Python отсутствует в вашей системе или окружении, установите его согласно официальной документацииopen in new window.

Загрузка первых результатов выполнения тестов

После установки Test IT CLI вы можете загрузить результаты выполнения автоматизированных тестов в систему управления тестированием Test IT.

Для загрузки результатов запустите автоматизированные тесты с опцией экспортирования отчета в формате Junit XML. Данный отчет является стандартным способом обмена результатами между утилитами тестирования, а также CI/CD системами. Вы можете ознакомиться с примерами экспорта Junit XML отчета для тестовых фреймворков.

После получения Junit XML отчета используйте Test IT CLI со следующими параметрами:

$ export TMS_TOKEN=<YOUR_TOKEN>
$ testit results import \
  --url <YOUR_INSTANCE_URL> \
  --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
  --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
  --testrun-name "TestNG test run" \
  --results results/report.xml
Пример выполнения команды
Collecting log files ...
Found 6 result file with a total of 14 tests
Created new testrun (ID: 4eeead72-b88a-4845-b258-3d077065561b)
Sending test results to Test IT ...
Uploading: 100%|██████████| 14/14 [00:06<00:00,  2.09it/s]
Successfully sent test results
Completed testrun (ID: 4eeead72-b88a-4845-b258-3d077065561b)

Параметры запуска Test IT CLI

Для получения полной справки о доступных параметрах используйте команду testit results import --help.

$ testit results import --help
usage: testit [options]

This tool is the command line wrapper of Test IT allowing you to upload the test results in real time to Test IT

optional arguments:
  -h, --help            show this help message and exit
  -u https://demo.testit.software, --url https://demo.testit.software
                        Set url address of the Test IT instance
  -t T2lKd2pLZGI4WHRhaVZUejNl, --token T2lKd2pLZGI4WHRhaVZUejNl
                        Set API token
  -pi 5236eb3f-7c05-46f9-a609-dc0278896464, --project-id 5236eb3f-7c05-46f9-a609-dc0278896464
                        Set project id
  -ci 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb, --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb
                        Set configuration id
  -ti 3802f329-190c-4617-8bb0-2c3696abeb8f, --testrun-id 3802f329-190c-4617-8bb0-2c3696abeb8f
                        Set test run id
  -tn TestRun01, --testrun-name TestRun01
                        Set test run name
  -s ., --separator .   
                        Separate the classname value in the results into namespace and classname
  -ns NameSpace01, --namespace NameSpace01
                        Set namespace                     
  -cn ClassName01, --classname ClassName01
                        Set classname                     
  -r DIR, --results DIR
                        Set directory with results file
  -d, --debug           Set debug logs
  -o FILE, --output FILE
                        Set file path for output

Описание параметров

В Test IT CLI используются следующие параметры:

  • --url, -u : задает адрес вашей системы Test IT (например, https://tms.testit.software/open in new window)
  • --token, -t : задает приватный токен, сгенерированный в вашем профиле Test IT. Можно указывать как параметр или переменная окружения TMS_TOKEN
  • --project-id, -pi : задает id проекта, в который будут загружены тесты
  • --configuration-id, -ci : задает id конфигурации, на которой выполнялись тесты
  • --testrun-id, -ti : задает id тест-рана (прогона), в который будут загружены результаты или который необходимо будет отметить как завершенный
  • --testrun-name, -tn : задает название тест-рана
  • --separator, -s : разделяет classname на namespace и classname по указанной строке
  • --namespace, -ns : задает название namespace по умолчанию
  • --classname, -cn : задает название classname по умолчанию
  • --results, -r : задает путь до директории или файла с результатами выполнения тестов
  • --output, -o : задает путь до файла, в который будет сохранен id созданного тест-рана
  • --debug, -d : включает расширенный режим логирования

Режимы работы

Test IT CLI поддерживает следующие режимы работы:

Стандартный запуск

Режим стандартного запуска позволяет загрузить результаты выполнения тестов с помощью одной команды. Данный режим используется по умолчанию.

Процесс состоит из следующих этапов:

  1. Сбор информации из Junit XML отчета о пройденных тестах.
  2. Если не указан testrun_id, создается новый тест-ран
  3. В созданный тест-ран загружаются все результаты.
  4. После загрузки тест-ран помечается как завершенный.
Пример выполнения команды
# загрузка результатов в новый тест-ран
$ testit results import \
  --url https://tms.testit.software \
  --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
  --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
  --testrun-name "New test run" \
  --results results/report.xml

# загрузка результатов в существующий тест-ран
$ testit results import \
  --url https://tms.testit.software \
  --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
  --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
  --testrun-id da02746b-7734-4220-a7f3-126d9f291317 \
  --results results/report.xml  

Параллельный запуск

Режим параллельного запуска позволяет загружать результаты тестов при параллельном запуске тестов.

Процесс параллельного запуска включает в себя:

  1. Создание нового тест-рана
    $ export TMS_TOKEN=<YOUR_TOKEN>
    $ testit testrun create \
      --url https://tms.testit.software \
      --project-id 5236eb3f-7c05-46f9-a609-dc0278896464 \
      --testrun-name "New test run" \
      --output tmp/output.txt
    
  2. Загрузка результатов из разных потоков
    $ export TMS_TOKEN=<YOUR_TOKEN>
    $ testit results upload \
      --url https://tms.testit.software \
      --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb \
      --testrun-id $(cat tmp/output.txt) \
      --results results/report.xml 
    
  3. Завершение тест-рана
    $ export TMS_TOKEN=<YOUR_TOKEN>
    $ testit testrun complete \
      --url https://tms.testit.software \
      --testrun-id $(cat tmp/output.txt) \
    

Дополнительные ресурсы

Чтобы узнать больше о возможностях интеграции Test IT с другими системами, прочтите наши статьи: