Vla*_*lad 7 java testng selenium screenshot
我正在寻找一种方法将屏幕截图附加到TestNG报告的结果部分,以获取失败的方法.
到目前为止,我能够通过实现以下功能将我的屏幕截图附加到Reporter Output:
Reporter.log("<br> <img src=.\\screenshots\\" + fileName + " /> <br>");
但仍然在努力将它们添加到失败方法的测试结果部分.
我能够实现Listener并拦截onTestFailure操作,这里最初建议: 如何在testNG报告中包含故障屏幕截图
这是一个例子:
@Override
public void onTestFailure(ITestResult result) {
Reporter.setCurrentTestResult(result);
Reporter.log("<br> <img src=.\\screenshots\\Untitled.png /> <br>");
Reporter.setCurrentTestResult(null);
}
Run Code Online (Sandbox Code Playgroud)
但是Reporter.log函数仍然在Reporter输出日志中推送我的信息,但不在Results-> Failed methods-> Failed method log中.
更新(2014年3月14日):我附上了截图以澄清我的问题.问题不在于捕获屏幕截图并将其附加到Report.那部分工作正常.问题是截图附加到报告的测试输出部分,但我想在结果 - >失败的方法中看到它.

我还实现了相同的扩展 Testng TestListenerAdapter。通过捕获屏幕截图,然后使用 onTestFailure 将其附加到 Testng Report,其中图像尺寸为 height=100 和 width=100。请参阅下面的内容是否有助于解决您的问题
File scrFile = ((TakesScreenshot) WebdriverManager.globalDriverInstance).getScreenshotAs(OutputType.FILE);
//Needs Commons IO library
try {
FileUtils.copyFile(scrFile, new File(file.getAbsolutePath()+ "/selenium-reports/html/" + result.getName() + ".jpg"));
Reporter.log("<a href='"+ file.getAbsolutePath()+"/selenium-reports/html/" + result.getName() + ".jpg'> <img src='"+ file.getAbsolutePath()+"/selenium-reports/html/"+ result.getName() + ".jpg' height='100' width='100'/> </a>");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Reporter.setCurrentTestResult(null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12877 次 |
| 最近记录: |