Tesults - интеграция ваших автоматических тестов

Tesults предоставляет библиотеки для интеграции для различных языков, включая:

  • Python
  • Node.js / JS
  • Java
  • C#
  • Ruby
  • Go

Также доступен REST API. Для загрузки данных и файлов, сгенерированных тестом, необходимо использовать одну из библиотек.

Без интеграции кода

Для некоторых платформ тестирования можно выполнить интеграцию без какого-либо кода, используя доступные библиотеки, специфичные для платформы тестирования.

Фреймворки тестирования, не требующие интеграции кода, включают:

  • pytest
  • Robot
  • Jest
  • Mocha
  • JUnit5
  • NUnit 3

Процесс интеграции одинаков для всех этих библиотек.

Установить плагин

В своем тестовом проекте установите соответствующий плагин Tesults. Например, если вы используете pytest, это делается с помощью‘pip install tesults’ с последующим ‘pip install pytest-tesults’. Если вы используете Mocha, вы используете‘npm install mocha-tesults-reporter – save’. См. Соответствующую команду для вашей тестовой среды на веб-сайте Tesults.

Настроить плагин

Некоторые плагины не требуют настройки и готовы к использованию немедленно, некоторые требуют небольшой настройки. В случае с pytest, например, дополнительная настройка не требуется, и он готов к использованию.

В случае с Mocha необходимо небольшое изменение ‘mocha’ звоните, уточняйте репортера, ‘mocha --reporter mocha-tesults-reporter’. См. На веб-сайте Tesults конкретную конфигурацию используемой вами платформы, но, как правило, конфигурация представляет собой изменение в одну строку или без изменений.

Передать аргументы

Есть обязательный аргумент для передачи плагину и другие необязательные аргументы. Требуемый аргумент - предоставить целевой токен Tesults. Этот токен был сгенерирован при создании проекта для цели по умолчанию на предыдущей странице руководства. Вы можете получить новый токен, если у вас его нет в меню конфигурации в Tesults. Нажмите‘Regenerate Target Token’ в меню конфигурации.

Как передать аргумент, зависит от вашей тестовой среды и плагина. Например, в pytest он может быть предоставлен в вызове pytest‘pytest --tesults-target token_value’или с помощью файла конфигурации. Для мокко это похоже, его можно пропустить в мокко под названием‘mocha * --reporter mocha-tesults-reporter -- tesults-target=token’ или его можно передать в файле конфигурации.

Целевой токен является единственным обязательным аргументом, есть необязательные аргументы для передачи информации о сборке и для загрузки файлов. См. Конкретную информацию об аргументах для вашей тестовой среды на веб-сайте Tesults.

Выполнить тесты

Запустите тесты, и теперь результаты будут отправлены в Tesults.

Интеграция кода

Если вы используете настраиваемую среду тестирования или среду тестирования, для которой у Tesults нет определенной библиотеки или плагина, вам необходимо использовать одну из языковых сред.

Здесь мы рассмотрим, что входит в интеграцию для Python. Другие языки имеют очень похожие процессы интеграции, см. Веб-сайт Tesults для конкретных деталей для вашего языка программирования, но сначала следуйте этому руководству, чтобы получить представление о процессе -

Установить библиотеку

Для Python следующая команда -

pip install tesults

Для других языков процесс аналогичен: для тестовых фреймворков JS вы устанавливаете библиотеку из npm, для Java вы можете использовать Gradle или Maven, для C # пакеты размещаются на NuGet, а для Ruby он доступен как гем.

Настроить библиотеку

Для Python конфигурация включает только require ‘tesults’в любом модуле, который вы хотите использовать в библиотеке. Опять же, аналогичная конфигурация необходима для других языков. См. Конкретную конфигурацию для вашего языка программирования на веб-сайте Tesults.

Карта тестовых данных

Плагины без кода не позволяют избежать этого шага. Для интеграции на основе кода вы должны сопоставить свои тестовые данные с тестовыми данными Tesults.

Для Python это означает преобразование каждого результата теста в словарь Python -

{
   'name': 'Tutorial 1',
   'desc':'Tutorial 1 .',
   'suite': 'Tutorials Point',
   'result': 'fail',
   'reason': 'Assert fail in line 102, tutorialspoint.py',
   'files': ['full-path/log.txt', 'full-path/screencapture.png'],
   '_CustomField': 'Custom field value'
}

Требуются название и результат. Все остальное необязательно. Результат должен быть одним из‘pass’, ‘fail’, или «неизвестно».

Пакет полезно предоставить, потому что он помогает группировать тестовые примеры при просмотре результатов и помогает избежать конфликтов имен. Должна быть указана причина неудачных тестов.

Файлы полезны для обеспечения хранения журналов и других тестовых файлов, и их можно просматривать вместе с тестовым примером, для которого они предназначены.

Вы также можете иметь любое количество настраиваемых полей; они должны начинаться с символа подчеркивания (_). Для каждого тестового примера создайте словарь таким образом и сохраните его в массиве.

Загрузить результаты

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

tesults.results(data)

где параметр данных следующий -

data = {
   ‘target’: ‘token’,
   ‘results’: {
      ‘cases’: [<your test cases>]
   }
}

Массив случаев - это массив, созданный в разделе выше.

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

Помогите

На веб-сайте Tesults есть способ запросить помощь по интеграции, если она вам понадобится.

Следующие шаги

На этом интеграция завершена, и мы можем посмотреть, как просматривать, анализировать и принимать меры по результатам тестирования.