Cucumber Maven:生成测试报告后执行逻辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cucumber Maven:生成测试报告后执行逻辑相关的知识,希望对你有一定的参考价值。

我使用黄瓜maven来创建我的测试自动化框架。测试执行完成后,将生成黄瓜reports.json。我必须从这个json文件中获取一些失败信息并将此失败发送到splunk。

为此,我可以从该cucumber.json文件中提取我想要的必要细节。但是我在哪里可以在自动化框架中包含这些实现?只有在完成测试执行后才会生成Cucumber.json。根据我的要求,一旦cucumber.json生成,从json获取必要的失败细节并将该细节发送到spunk ..

是否有可能在maven-surefire-plugin的帮助下完成。在下面的SendFailure类中编写了从生成的json中提取细节并将细节发送到splunk的逻辑。我希望它将在测试执行完成后执行。但它没有用。

请建议一个合适的方法来处理这个问题。

我的要求是一旦cucumber.json生成我必须得到json的一些细节。目前我很困惑,在哪里称这个逻辑?

<build>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14</version>
            <configuration>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1.1</version>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <configuration>
                        <mainClass>com.send.SendFailure</mainClass>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </build>
答案

我不知道这是否已经解决了。我的解决方案是(几年前)调用外部(python)脚本。并在该脚本中等待文件存在,然后用它做一些事情。

那时候我没有找到办法在测试中做到这一点。

也可能值得考虑在splunk中添加json作为资源,并在那里进行查询。

另一答案

回答我的问题是。我修改了我的pom文件如下,它工作

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.14</version>
        <configuration>
            <testFailureIgnore>true</testFailureIgnore>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
            <execution>
                <phase>test</phase>
                <goals>
                    <goal>java</goal>
                </goals>
                <configuration>
                    <mainClass>com.send.SendFailure</mainClass>
                </configuration>
            </execution>
        </executions>
    </plugin>
     </plugins>

以上是关于Cucumber Maven:生成测试报告后执行逻辑的主要内容,如果未能解决你的问题,请参考以下文章

为 WebdriverIO/Cucumber 框架生成 HTML 报告

如何在 Maven 测试阶段生成 jacoco 报告

黄瓜ruby报告错误“无法修改冻结的String(RunTimeError)”

Cucumber-java rerun fail 只执行失败的测试

测试兵器谱のCucumber-JVM框架篇

Maven Surefire 插件没有重新运行失败的 Cucumber 测试