java - 报告从 Jenkins 管道作业运行的多个 Selenium Webdriver 作业

标签 java maven selenium jenkins groovy

我有一个管道作业,使用 Groovy 脚本设置为“并行”运行多个测试,但我很好奇如何统一报告。

我正在使用 Java 并使用 TestNG 和 Maven 编写 Selenium 测试。

当我查看 target/surefire-reports 中的报告时,唯一的就是“套件”的“最后”测试运行。

如何获得包含管道并行作业中所有测试的报告?

Groovy 代码示例:

node() {
    try {
        parallel 'exampleScripts':{
            node(){
                stage('ExampleScripts') {
                    def mvnHome
                    mvnHome = tool 'MAVEN_HOME'
                    env.JAVA_HOME = tool 'JDK-1.8'
                    bat(/"${mvnHome}\bin\mvn" -f "C:\workspace\Company\pom.xml" test -DsuiteXmlFile=ExampleScripts.xml -DenvironmentParam="$ENVIRONMENTPARAM" -DbrowserParam="$BROWSERPARAM" -DdebugParam="false"/)
                } // end stage
            } // end node
        }, // end parallel
        'exampleScripts2':{
            node(){
                stage('ExampleScripts2') {
                    def mvnHome
                    mvnHome = tool 'MAVEN_HOME'
                    env.JAVA_HOME = tool 'JDK-1.8'
                    bat(/"${mvnHome}\bin\mvn" -f "C:\workspace\Company\pom.xml" test -DsuiteXmlFile=ExampleScripts2.xml -DenvironmentParam="$ENVIRONMENTPARAM" -DbrowserParam="$BROWSERPARAM" -DdebugParam="false"/)
                } // end stage
            } // end node

            step([$class: 'Publisher', reportFilenamePattern: 'C:/workspace/Company/target/surefire-reports/testng-results.xml'])

        } // end parallel

此后的代码还有更多内容,包括通过电子邮件向测试运行者发送测试结果等。

除了报告方面之外,这非常有效。

最佳答案

我更喜欢使用ExtentReports因为它有一个 ExtentX 服务器,允许您报告多个不同的测试报告。

我曾经使用过 ReportNG,但其开发停滞了,所以我不再推荐它。无论如何,它不允许您合并报告。

除此之外,您还可以使用 CouchBase 或类似的 JSON 数据库来存储测试结果,然后根据该信息生成您自己的报告。

关于java - 报告从 Jenkins 管道作业运行的多个 Selenium Webdriver 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41814141/

相关文章:

java - 我可以在不连接端口的情况下检查IP端口是否打开吗?

java - 当 Maven 目标不是阶段/生命周期的一部分时?

typescript - 如何使用 Selenium 和 Mocha 实现 Istanbul 尔覆盖

java - 单击selenium中的CSS按钮

java - 如何在可执行 JAR 中加载 TestNG 配置?

css - 如何将此 xpath 表达式更改为 selenium 的 css

java - 如何在我的表单中插入时间的 PHP 代码?

java - JavaFX 中何时隐藏舞台,如何获取?

java - 两个日期之间的天数误解

java - 无法从 Eclipse Luna 中的原型(prototype)创建项目