Как настроить отчеты для спокойствия BDD

Я хочу изменить CSS и логотипы в отчетах Serenity. Также я хочу добавить пользовательский текст или ссылки на некоторые тесты в отчетах Serenity. Как создается отчет Excel, и я хочу предоставить ссылку на него в шаге теста в отчете. Каков наилучший способ достичь этого?

2 ответа

Я нашел лучший и более чистый способ настройки отчетов Serenity. По сути, мы можем сгенерировать наш собственный проект Serenity-reports-resources с другим номером версии и настроить наш проект на использование нашей собственной сборки ресурсов отчетов вместо ресурсов официальных отчетов. Настройки для этого следующие:

  1. Скачать исходники с:

     https://github.com/serenity-bdd/serenity-core.git

  2. Измените настройки сборки 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'

    Примечание: используйте номер версии, которую вы хотите, чтобы отслеживать изменения вашего сайта отчетности.

  3. Бежать

    mvn clean build
    для подпроекта "serenity-report-resources"

    3.1 Выполнить

    publishing / publishToMavenLocal
    установить ваш сайт отчетов как новую зависимость maven в локальном репозитории. Опубликуйте или разверните эту сборку там, где она вам нужна при запуске теста в других средах.

  4. Сконфигурируйте ваш проект так, чтобы он не включал официальную зависимость "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-файлами.

Это не лучшее решение, но это быстрое решение, чтобы увидеть, как будут выглядеть ваши отчеты.

Другие вопросы по тегам