我将考虑使用TestNG监听器而不是@AfterMethod,因为这将使测试与报告解耦,使测试只需生成场景和断言失败。ITestListener将允许您“监听”失败的测试。
下面是我如何在WebDriver中使用它的示例;使用TestNG运行并行测试时捕获WebDriver屏幕截图
我知道您正在使用HTMLUnit,但思想和概念都在那里
我在使用TestNG时发现,当我使用DataProvider时,@aftermethod&@BeforeMethod会被多次调用。在使用从DataProvider传递的所有参数执行@test之后,是否可能只调用一次方法。比如,在DataProvider调用了“Test PrimenumberChecker”5次之后,我们只能调用一次“Drew Down”方法。
我目前正在研究在测试套件执行后根据testng XML中的参数将testng报告上传到Amazon S3的能力。考虑以下testng XML: 给定前四个参数(upload-test-reports、aws-provider-type、aws-s3-bucket和target-reports-directory),Java项目将把默认测试输出目录(当前为/build/reports/tests)中
问题内容: 如果测试失败,我想截图。与其将所有测试方法都包裹在try / catch块中,不如将这种逻辑添加到以标记的方法中。 如何在当前测试失败的注解方法中进行检测? 问题答案: 如果带有注释的方法具有参数,则TestNG将自动注入测试结果。(来源:TestNG文档,第5.18.1节) 这应该做的工作:
问题内容: 为了进行研究,我需要从@AfterMethod运行测试方法(@Test)后捕获结果状态(“通过” /“失败”)。 我一直在使用导入org.testng.ITestResult; 我的研究成果使访问多个在线博客后使我的工作变得更加轻松,但是, 即使断言失败 了, 也 似乎并没有像预期的那样成功,因为结果输出总是通过。 我的代码如下: 结果在控制台中: 我的期望是将测试结果转换为变量以通过
我使用了这个非常简单的代码,并尝试在@AfterSuite注释下发送一个电子邮件报告,但问题是发送的是旧的(以前的)报告。不是最新的。注意,我也尝试了电子邮件方法下的Thread.Sleep。
我有100个测试用例和重试逻辑将执行,如果有任何失败的测试脚本和电子邮件报告只有失败的测试脚本单独的状态。我只想在执行完成后,将第一个和重试运行测试报告合并为一个,以testng中的可电子邮件报告的形式。可能在Jenkins post build活动中,我只想执行合并活动。我只需要建议,和有效的方法来实现这一点。 截图: