首页 > 解决方案 > Cucumber Maven:生成测试报告后执行一个逻辑

问题描述

我正在使用 cucumber 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>

标签: javamavencucumber

解决方案


我不知道这是否已经解决了。我的解决方案是(几年前)调用外部(python)脚本。在该脚本中等待文件存在,然后对其进行处理。

那时我没有找到从测试中做到这一点的方法。

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


推荐阅读