JBehave
Test IT позволяет загружать результаты автоматизированных тестов из тестового фреймворка JBehave. Существуют следующие способы интеграции:
Смотрите также: Дополнительные ресурсы.
CLI
Test IT поддерживает загрузку тестов и результатов их выполнения в формате JUnit XML. Для этого необходимо:
- Запустить тесты и сгенерировать отчет JUnit XML
- Загрузить результаты тестов в Test IT
Запуск тестов и генерация отчета JUnit XML
Вы можете запускать тесты через командную строку или как часть вашей CI/CD системы.
JBehave не поддерживает генерацию JUnit XML отчета. Вы можете воспользоваться нашим пакетом для генерации jbehave-reporter-junitxml.
Для подключения пакета добавьте его в зависимости проекта:
Maven:
<dependency> <groupId>ru.testit</groupId> <artifactId>jbehave-reporter-junitxml</artifactId> <version>LATEST_VERSION</version> <scope>compile</scope> </dependency>
Gradle:
implementation "ru.testit:jbehave-reporter-junitxml:LATEST_VERSION"
Добавьте его в конфигурацию JBehave:
import org.jbehave.core.ConfigurableEmbedder; import org.jbehave.core.configuration.Configuration; import org.jbehave.core.configuration.MostUsefulConfiguration; import org.jbehave.core.embedder.Embedder; import org.jbehave.core.embedder.EmbedderControls; import org.jbehave.core.embedder.NullEmbedderMonitor; import org.jbehave.core.io.LoadFromClasspath; import org.jbehave.core.reporters.NullStoryReporter; import org.jbehave.core.reporters.StoryReporterBuilder; import org.jbehave.core.steps.InjectableStepsFactory; import org.jbehave.core.steps.InstanceStepsFactory; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; import ru.testit.reporter.JunitXmlReporter; import java.io.File; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; public class TestStoriesRunner extends ConfigurableEmbedder { public Embedder embedder; @TempDir Path temp; @Override @Test public void run() { embedder = new Embedder(); embedder.useEmbedderMonitor(new NullEmbedderMonitor()); embedder.useEmbedderControls(new EmbedderControls() .doGenerateViewAfterStories(false) .doFailOnStoryTimeout(false) .doBatch(false) .doIgnoreFailureInStories(true) .doIgnoreFailureInView(true) .doVerboseFailures(false) .doVerboseFiltering(false) ); embedder.useConfiguration(configuration()); embedder.useCandidateSteps(stepsFactory().createCandidateSteps()); File dir = new File("./src/test/resources/stories"); List<String> stories = new ArrayList<>(); for (File file : dir.listFiles()){ if ( file.isFile() ) stories.add("stories/" + file.getName()); } embedder.runStoriesAsPaths(stories); } public Configuration configuration() { final JunitXmlReporter reporter = new JunitXmlReporter(); return new MostUsefulConfiguration() .useStoryLoader(new LoadFromClasspath(this.getClass())) .useStoryReporterBuilder( new TestStoryReporterBuilder(temp.toFile()) .withReporters(reporter)) .useDefaultStoryReporter(new NullStoryReporter()); } public InjectableStepsFactory stepsFactory() { return new InstanceStepsFactory(embedder.configuration(), new SampleSteps()); } static class TestStoryReporterBuilder extends StoryReporterBuilder { private final File outputDirectory; TestStoryReporterBuilder(final File outputDirectory) { this.outputDirectory = outputDirectory; } @Override public File outputDirectory() { return outputDirectory; } } }
После выполнения тестов отчет будет автоматически сгенерирован в директории
output
.
Загрузка результатов тестов в Test IT
Загрузка осуществляется при помощи Test IT CLI. Утилита распространяется как пакет для Python и устанавливается в системе.
Для установки выполните команду:
$ pip install testit-cli $ testit --help usage: testit [options] [...]
Добавьте переменную окружения TMS_TOKEN и выполните команду:
$ 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 "JBehave test run" \ --results output/test-results.xml
- <YOUR_TOKEN> — приватный токен, сгенерированный в вашем профиле Test IT
- <YOUR_INSTANCE_URL> — адрес вашей системы Test IT, к примеру, https://tms.testit.software/
Пример выполнения команды
Collecting log files ... Found 3 result file with a total of 7 tests Created new testrun (ID: 18725f28-f054-40d6-b30e-b05cf36deaf9) Sending test results to Test IT ... Uploading: 100%|█████████████████████████████████████████████| 7/7 [00:01<00:00, 3.98it/s] Successfully sent test results Completed testrun (ID: 18725f28-f054-40d6-b30e-b05cf36deaf9)
Результаты успешно загружены в систему Test IT. Вы также можете воспользоваться адаптером.
Адаптер
Адаптер предоставляет гибкие возможности интеграции и позволяет загружать не только базовую информацию об автотестах, но и другие метаданные (шаги, вложения, ссылки и т.д.).
Для подключения адаптера воспользуйтесь инструкцией на GitHub.
Список метаданных, передаваемых адаптером для JBehave
WorkItemIds
— идентификатор (ID) рабочего элемента, позволяет привязывать автотесты к ручным тестам в Test IT. Получает массив ID ручных тестов.DisplayName
— имя автотеста, используемое в Test ITExternalId
— уникальный ID автотеста в Test ITTitle
— имя автотеста, указанное в его карточке. Если имя не указано, используется имяDisplayName
.Description
— описание автотеста, указанное в его карточкеLabels
— теги, указанные в карточке автотестаLinks
— ссылки, указанные в карточке автотестаAdapter.addLinks
— ссылки на результаты автотестовAdapter.addAttachments
— вложения, прикрепляемые к результатам автотестовAdapter.addMessage
— сообщения о результатах автотестов
Public API
Вы можете загружать тесты и результаты их выполнения с помощью нашего публичного API. Существует два способа загрузки:
- Самостоятельно взаимодействовать с API
- Использовать готовый API-клиент
Дополнительные ресурсы
Чтобы узнать больше о возможностях интеграции Test IT с другими системами, прочтите наши статьи: