我们将Serenity Cucumber与Maven集成在一起,用于与Junit一起运行的REST API自动化项目。每当尝试执行命令时,控制台上的结果mvn serenity:aggregate
显示"构建成功",但加载了 0 个要求并索引.html 有 0 个结果并在target/site/serenity
下生成。而如果使用命令运行mvn clean verify
在同一文件夹下获取结果。
pom.xml插件文件:
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>2.0.40</version>
<dependencies>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>2.0.40</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>serenity-reports</id>
<phase>post-integration-test</phase>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.masterthought</groupId>
<artifactId>maven-cucumber-reporting</artifactId>
<version>4.5.0</version>
<dependencies>
<dependency>
<groupId>com.googlecode.totallylazy</groupId>
<artifactId>totallylazy</artifactId>
<version>1.20</version>
<scope>system</scope>
<systemPath>${basedir}/externalMavenLibrary/totallylazy-1.20.jar</systemPath>
</dependency>
</dependencies>
<executions>
<execution>
<id>execution</id>
<phase>verify</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<projectName>cucumber-jvm-example</projectName>
<outputDirectory>${basedir}/target/site/cucumber-pretty</outputDirectory>
<jsonFiles>
<param>**/*.json</param>
</jsonFiles>
<classificationFiles>
<param>**/*.properties</param>
</classificationFiles>
<cucumberOutput>${basedir}/target/cucumber.json</cucumberOutput>
<enableFlashCharts>true</enableFlashCharts>
<checkBuildResult>true</checkBuildResult>
<skippedFails>true</skippedFails>
</configuration>
</execution>
</executions>
</plugin>
pom.xml文件中的其他版本:
serenity-cucumber: 1.9.35
serenity-rest-assured: 2.0.45
serenity-core: 2.0.45
serenity-junit: 2.2.1
serenity-maven-plugin: 2.0.40
宁静属性文件:
serenity.project.name=Test
serenity.console.colors=true
serenity.reports.show.step.details=true
由于在运行 mvn 宁静:聚合后无法获得报告,缺少图形和其他不错的功能。 请指导。
能够找出命令不起作用的原因。 在 pom.xml 文件中,添加标签并通过提供报告输出路径运行命令后,我能够按预期获得 Serenity 报告。
完成的更新:
serenity.test.root="com.projectname.backend.core"
serenity.reports.show.step.details=true
serenity.outputDirectory = target/site/reports
在 pom.xml 文件中:添加了标签配置,标签在 RunnerFile 中具有值.java
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<configuration>
<tags>${tags}</tags>
</configuration>
此外,还使用了以下依赖项版本:
<properties>
<serenity.version>2.2.1</serenity.version>
<serenity.cucumber.version>2.2.0</serenity.cucumber.version>
<serenity.maven.version>2.2.1</serenity.maven.version>
</properties>
使用的命令:
mvn serenity:aggregate -Dserenity.outputDirectory=C:Usersprojectnametargetsitereports
我解决了这个问题,我的错误是我忘记在功能文件中命名场景。所以检查这部分