我已经使用测试来运行测试用例。ITestResult监听器用于捕获测试状态,并在after方法中给出。请帮助为什么测试没有记录测试失败?
如果您想截取失败测试的屏幕截图,下面的代码可能会对您有所帮助。
-
您必须在xml测试套件中配置侦听器
<listeners> <listener class-name="package.your.listener.ScreenshotListener" /> </listeners>
-
实现你的监听器
公共类ScreenshotListener扩展TestListenerAdapter {
@Override public void onTestFailure(ITestResult result) { super.onTestFailure(result); if (!result.isSuccess()) { WebDriver driver = getDriverByResult(result); String methodName = result.getName(); try { File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); String reportDirectory = new File(System.getProperty("user.dir")).getAbsolutePath() + "/target/surefire-reports"; File destFile = new File(reportDirectory + "/failure_screenshots/" + buildFileNameByMethod(methodName)+ ".png"); FileUtils.copyFile(scrFile, destFile); Reporter.log("<a href='" + destFile.getAbsolutePath() + "'> <img src='" + destFile.getAbsolutePath() + "' height='100' width='100'/> </a>"); } catch (IOException e) { e.printStackTrace(); } } }