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

时间:2018-07-05 04:35:51

标签: java maven cucumber

我使用黄瓜Maven创建我的测试自动化框架。 测试执行完成后,将生成cummons report.json。 我必须从此json文件中获取一些故障信息,并将这些故障发送给splunk。

为此,我可以从该cucumber.json文件中提取所需的详细信息。 但是我可以在自动化框架中的哪一部分添加呢? 仅在完成测试执行后才会生成Cucumber.json。 根据我的要求,一旦cumcum.json生成,从json获取必要的失败详细信息并发送该详细信息 吓到了。

是否有可能在maven-surefire-plugin的帮助下做到这一点。在下面的SendFailure类中编写 从生成的json中提取详细信息并将详细信息发送到splunk的逻辑,我希望它将执行 测试执行完成后。但这不起作用。

请提出处理此问题的合适方法。

我的要求是cumulant.json生成后,我必须从该json中获取一些详细信息。 目前Iam困惑于在何处调用此逻辑?

<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>

2 个答案:

答案 0 :(得分:0)

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

那时,我还没有找到在测试中执行此操作的方法。

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

答案 1 :(得分:0)

我的问题的答案是。我修改了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>