Как настроить отчеты для спокойствия BDD
Я хочу изменить CSS и логотипы в отчетах Serenity. Также я хочу добавить пользовательский текст или ссылки на некоторые тесты в отчетах Serenity. Как создается отчет Excel, и я хочу предоставить ссылку на него в шаге теста в отчете. Каков наилучший способ достичь этого?
2 ответа
Я нашел лучший и более чистый способ настройки отчетов Serenity. По сути, мы можем сгенерировать наш собственный проект Serenity-reports-resources с другим номером версии и настроить наш проект на использование нашей собственной сборки ресурсов отчетов вместо ресурсов официальных отчетов. Настройки для этого следующие:
Скачать исходники с:
https://github.com/serenity-bdd/serenity-core.git
Измените настройки сборки Gradle, чтобы создать свой собственный файл jar "serenity-report-resources". Откройте файл "build.gradle". 2.1 Добавьте "mavenLocal()" в репозитории:
buildscript { repositories { mavenLocal() .....
2.2 Добавить плагин публикации Maven
apply plugin: 'maven-publish'
2.3 Изменить номер версии подпроекта. Заменить строку:
version = rootProject.version
за
version = '0.0.0.1'
Примечание: используйте номер версии, которую вы хотите, чтобы отслеживать изменения вашего сайта отчетности.
Бежать
для подпроекта "serenity-report-resources"mvn clean build
3.1 Выполнить
установить ваш сайт отчетов как новую зависимость maven в локальном репозитории. Опубликуйте или разверните эту сборку там, где она вам нужна при запуске теста в других средах.publishing / publishToMavenLocal
Сконфигурируйте ваш проект так, чтобы он не включал официальную зависимость "serenity-report-resources", и вместо этого добавьте свой.
4.1 В разделе зависимостей добавьте ядро безмятежности без отчетов.
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
<exclusions>
<exclusion>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-report-resources</artifactId>
</exclusion>
</exclusions>
</dependency>
4.2 Добавьте ваши пользовательские отчеты зависимости. Используйте тот же номер версии, который вы использовали ранее.
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-report-resources</artifactId>
<version>0.0.0.1</version>
</dependency>
4.3. Настройте зависимости плагина serenity для использования вашей пользовательской сборки отчетов.
<!-- Serenity plugin -->
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
<exclusions>
<exclusion>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-report-resources</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-report-resources</artifactId>
<version>0.0.2</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
Теперь, когда вы запускаете тесты с "SerenityRunner", он должен находить ресурсы вашей пользовательской сборки отчетов вместо официальной сборки отчетов о спокойствии.
Было бы лучше, если бы мы могли просто настроить расположение ресурсов, необходимых для генерации отчетов в виде статического или системного свойства из той же структуры. Давай посмотрим, что я могу сделать:-)
Я надеюсь, что это помогает, Продолжайте взламывать
Один из хакерских способов настройки CSS и изображений - использовать плагин Maven Resources, как показано ниже.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-web.xml</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>${basedir}/target/site/serenity/images</outputDirectory>
<resources>
<resource>
<directory>src/main/resources/images</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Поместите ваши изображения в "src / main / resources / images". т.е. ваш логотип с именем "serenity-logo.png", потому что HTML-код имеет это имя. Вы также можете добавить CSS-файлы с относительным путем к CSS-файлу, который нужно заменить.
После запуска тестов просто запустите команду "mvn process-resources". Это заменит файлы, после чего у вас будет сайт с вашими изображениями и CSS-файлами.
Это не лучшее решение, но это быстрое решение, чтобы увидеть, как будут выглядеть ваши отчеты.