我使用 testNG 来运行测试自动化框架。目前,我运行了大量的测试套件,然后在套件后我迭代监听器中的结果,并将它们添加到我用作测试仪表板的 mySQL 数据库中。
它工作得很好,但我现在想做的是当我在 @test 中遇到失败时截取屏幕截图并将其添加到结果中,以便在我的监听器中我可以处理它。
像这样就好了
@test
foo(){
My Test hits an error I take screenshot = shot1
ResultMap.add(customError=shot1)
}
然后,当我在监听器中处理套件末尾的所有结果时,我可以说
如果customeError =true将customError写入我的数据库
无论如何,做类似的事情
最佳答案
我想我已经弄清楚了,除非我错过了一些看起来有效并且几乎很容易的东西
ITestResult result = Reporter.getCurrentTestResult();
result.setAttribute("Name", "put my screenshot here");
在我的@test中我只能说断言是否失败
ITestResult result = Reporter.getCurrentTestResult();
result.setAttribute("Name", "put my screenshot here");
我的测试监听器现在有一个 if 来查找“Name”,如果有则获取值并将其放入我的数据库中。
快速测试看起来不错,如果我真正编写代码时它有效,我会更新它
关于java - TestNG 自定义结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9712474/