Bitbucket

Test IT поддерживает интеграцию с Bitbucket. Для настройки используется всего несколько строк кода и поддерживаются любые тестовые фреймворки и платформы.

Вы можете интегрировать как простые проекты (только с запуском тестов), так и сложные проекты (несколько отдельных проектов), которые запускаются в несколько независимых потоков.

Независимо от ваших требований процесс интеграции будет одинаков:

  1. Запуск автоматизированных тестов в пайплайнах Bitbucket
  2. Генерация JUnit XML отчета с результатами автоматизированных тестов
  3. Загрузка результатов с помощью Test IT CLI

Используйте переменную окружения

Чтобы утилита Test IT CLI работала корректно, передавайте приватный токен через переменную окружения TMS_TOKEN. О безопасной передаче токена читайте в разделе Безопасное хранение данных.

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

Данная инструкция описывает запуск простого проекта в Bitbucket. Она актуальна для любых тестовых фреймворков и платформ. В качестве примера описан запуск с помощью тестового фреймворка Pytest для Python.

Для быстрой и простой интеграции с Test IT вы можете использовать утилиту Test IT CLI, которая позволяет загрузить все результаты автотестов с помощью одной команды.

Ниже представлен пример файла bitbucket-pipelines, который отвечает за работу пайплайнов в Bitbucket:

# bitbucket-pipelines.yml
image: python:3.8

pipelines:
  default:
    - step:
        name: Run tests and generate report
        script:
          # Install project dependencies
          - pip install -r requirements.txt
          
          # Execute test and generate report
          - pytest --junitxml=results/test-results.xml src/tests.py
        after-script:
          # Install Test IT CLI
          - pip install testit-cli
          
          # Submit test results to TMS
          - testit
            --url <YOUR_INSTANCE_URL>
            --project-id 5236eb3f-7c05-46f9-a609-dc0278896464
            --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb
            --testrun-name "Bitbucket test run"
            --results results/test-results.xml

Простым добавлением необходимых шагов вы можете запускать множество необходимых вам тестов и загружать их в Test IT. Больше информации вы можете найти в официальной документацииopen in new window.

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

Test IT поддерживает параллельный запуск автоматизированных тестов в Bitbucket. При этом добавляются дополнительные независимые шаги для создания, завершения тест-рана (прогона) и запуска тестов.

Ниже представлен пример файла bitbucket-pipelines.yml, который отвечает за работу пайплайнов в Bitbucket:

# bitbucket-pipelines.yml
image: python:3.8

pipelines:
  default:
    - step:
        name: Create testrun
        script:
          # Install Test IT CLI
          - pip install testit-cli

          # Create testrun
          - testit testrun create \
            --url <YOUR_INSTANCE_URL>
            --project-id 5236eb3f-7c05-46f9-a609-dc0278896464
            --testrun-name "Bitbucket test run"
            --output output.txt

          # Export TMS_TEST_RUN_ID env variable
          - echo "export TMS_TEST_RUN_ID=$(cat output.txt)" >> tms_env.sh
        artifacts:
          - tms_env.sh
    - parallel:
      - step:
          name: Test group 1
          script:
            # Install project dependencies 
            - pip install -r requirements.txt
            
            # Execute test and generate report
            - pytest --junitxml=results/test-results.xml src/tests.py
          after-script:
            # Use the artifact from the previous step
            - cat tms_env.sh 
            - source tms_env.sh
            
            # Install Test IT CLI
            - pip install testit-cli
            
            # Submit test results to TMS
            - testit results upload \
              --url <YOUR_INSTANCE_URL>
              --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb
              --testrun-name "Bitbucket test run"
              --results results/test-results.xml
      - step:
          name: Test group 2
          script:
            # Install project dependencies 
            - pip install -r requirements.txt
            
            # Execute test and generate report
            - pytest --junitxml=results/test-results.xml src/tests.py
          after-script:
            # Use the artifact from the previous step
            - cat tms_env.sh 
            - source tms_env.sh
            
            # Install Test IT CLI
            - pip install testit-cli
            
            # Submit test results to TMS
            - testit results upload \
              --url <YOUR_INSTANCE_URL>
              --configuration-id 15dbb164-c1aa-4cbf-830c-8c01ae14f4fb
              --testrun-name "Bitbucket test run"
              --results results/test-results.xml
    - step:
        name: Complete
        script:
          # Use the artifact from the previous step
          - cat tms_env.sh 
          - source tms_env.sh
            
          # Install Test IT CLI
          - pip install testit-cli
        
          # Complete testrun
          - testit testrun complete \
            --url <YOUR_INSTANCE_URL>            

Безопасное хранение данных

Для работы утилиты Test IT CLI вам необходимо использовать приватный токен для авторизации. Хранение данного токена и другой чувствительной информации в коде строго не рекомендуется, так как доступ к этой информации будет иметь любой у кого есть доступ к коду.

Используйте переменные и секреты Bitbucket для хранения чувствительной информации. Подробнее с секретами вы можете ознакомится в официальной документацииopen in new window.

Обновлено: