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 есть способ запросить помощь по интеграции, если она вам понадобится.
Следующие шаги
На этом интеграция завершена, и мы можем посмотреть, как просматривать, анализировать и принимать меры по результатам тестирования.