我正在尝试收集我的测试生成的所有文件(日志文件,屏幕截图,黄瓜报告等)并通过电子邮件发送。我是使用JUnit的@AfterClass注释从Runner类中完成的。
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/Features"
, glue = { "stepDefinition" }
, tags = { "@Teeest" }
, monochrome = true
, strict = false
, plugin = { /* "pretty", */ "html:target/cucumber-html-report","json:target/cucumber-html-report/cucumber-json-" + "report.json" })
public class TestRunner {
@AfterClass
public static void sendReport() {
SomeClass.sendMail();
}
}
除了黄瓜报告(包括html和json)之外,一切都很好。当我手动检查它时,它看起来很好,所以我假设它在执行此方法后的某个时间生成。
有没有人知道如何解决这个问题?
我想要为Jenkins获取Cucumber Reports插件,编写一个shell脚本以通过Maven POM执行,或者单独的Java应用程序查找文件,压缩并发送电子邮件。
所有这3个想法都有缺点,所以我真的很喜欢另一种钩式方法,如果可能的话,因为文件位置具有动态名称,并且在测试中获得实际位置会更容易套房比后来寻找它们。
谢谢!
PS:我很喜欢这些东西,所以请不要耽搁细节:)