当前位置: 首页 > 知识库问答 >
问题:

如何自定义serenity BDD的报告

丁毅庵
2023-03-14

我希望更改Serenity报告中的CSS和徽标。另外,我想在Serenity报告中添加一些自定义文本或指向某些测试的链接。就像生成了一个excel报告,我希望在报告的测试步骤中提供它的链接。实现这一目标的最佳方法是什么?

共有2个答案

沈单弓
2023-03-14

自定义CSS和图像的一种黑客方法是使用Maven资源插件,如下所示。

         <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/image”中。即您的徽标名称为“serenity-logo.png”,因为超文本标记语言代码有这个名称。您也可以使用要替换的CSS文件的相对路径添加CSS文件。

运行测试后,只需运行命令“mvn进程资源”。这将替换文件,然后你有一个网站,你的图像和CSS文件自定义。

这不是最佳解决方案,但可以快速解决您的报告的外观。

李利
2023-03-14

我找到了一个更好更干净的方法来定制宁静报告。基本上,我们可以用不同的版本号生成我们自己的Serenity-reports-resources项目,并将我们的项目配置为使用我们定制的reports资源构建,而不是官方的reports资源。完成此操作的步骤如下:

> < li>

从以下位置下载资源:

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

修改构建Gradle设置以生成您自己的“serenity-report-Resources”jar文件。打开“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'

注意:使用所需的版本号来跟踪报告站点的更改。

快跑

mvn clean build

3.1运行

publishing / publishToMavenLocal

将项目配置为不包含官方的“serenity-report-resources”依赖项,而是添加你的依赖项。

4.1在依赖项部分添加不带报告的serenity-core。

<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”运行测试时,它应该会找到你的自定义报告版本的资源,而不是官方serenity reports版本。

如果我们能够将生成报告所需的资源位置配置为同一框架中的静态或系统属性,那就更好了。让我看看我能做些什么:-)

我希望它能帮助,继续黑客

 类似资料:
  • # 5.1 自定义报告是什么? {#51-自定义报告是什么?} 在进行网站分析的时候,通常需要关联多个维度进行分析, 同时根据不同组合维度,选取合适的衡量指标。 例如,衡量 广告流量 达成的事件数 或 不同来源流量的所使用客户端及其地域分布。 在默认报告中,系统提供了单个维度的分析视角。 而自定义报告则可实现关联不同分析维度,衡量站点数据表现。 示例如下: 维度1 维度2 维度3 衡量指标 广告维

  • 问题内容: 我使用了一个警告框,以在某些验证后警告某些消息。现在,我要在控件存在验证错误的控件上方放置警报框。 默认情况下,警报框会在页面中心弹出,现在我希望它在某个自定义位置,例如,我有4个要验证的文本框,文本框3有一些不正确的数据,我希望警报显示在上方textbox-3,而不是页面的中心。 是否可以更改警报框的显示行为?如果没有其他选择,则进入jquery对话框。 问题答案: 由于这是默认对话

  • 我正在尝试为DropWizard Metrics创建一个自定义报告器,但找不到任何资源或示例来显示如何通过扩展来创建一个报告器。我可以通过遵循现有报告器(CSV、SLF4J等)来扩展这个类,但是我要在哪里注册它? 以下是我试图注册的自定义记者的摘录: 而且,这是创建自定义报告程序的正确方法还是其他方法? 先谢谢你。

  • 主要内容:前记,1.自定义视图,2.自定义异常,3.自定义异常的原理前记 在前面的文章中, 表示了视图解析的原理和异常解析器的解析原理。 这篇通过如何自定义视图和自定义异常处理和自定义异常处理的原理进行说明。 这里说明一下, 自定义的视图和自定义的异常都是会代替容器默认的组件的, 异常还好说, 就是不符合就抛, 视图的话需要注意一下优先级, 可以在自定义的视图解析器上加上注解。 1.自定义视图 这里原理就是添加一个视图和视图解析器, 然后放入容器中, 最后访问相应

  • 在本节中,我们将通过一个示例介绍编写自定义报告者并将其附加到TestNG的方法。 要编写自定义报告者类,我们的扩展类应该实现IReporter接口。 让我们继续并使用自定义报告器创建一个示例。 创建测试用例类 (Create Test Case Class) 在C:\》 TestNG_WORKSPACE创建一个java类,比如SampleTest.java 。 import org.testng.

  • 使用指南 - 数据报告 - 访客分析 - 利用自定义变量报告自定义访客属性 通过自定义变量,可以提供您自定义的访客群体的网站访问状况,包括这个群体的网站访问次数、平均访问页数、跳出率等指标,帮助助您了解这个访客群体在您网站的访问情况。 在使用前要进行相关自变量的设置,具体请参考 在查看报告时,也可以对来源、访客过滤筛选查看。