是否有可用于 Cucumber 的 TestNG 的屏幕截图 > 报告嵌入方法?
Is there a screenshot > Report embed method for TestNG which is available for Cucumber?
是否有Cucumber可用的TestNG截图嵌入方法?
我有以下 Cucumber 方法 运行,但是 JUnit 或 TestNG 是否有类似的方法将图像附加到创建的报告(XML 报告)
public void close_browser_window(Scenario scenario) throws Exception {
if (scenario.isFailed()) {
scenario.embed(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES), "image/png");
}
}
我认为你的问题有两条路径。
一个正在截取屏幕截图,另一个正在将其附加到 XML 报告中。
因此,在 TestNG 中,为了截取屏幕截图,您可以像这样重写 OnTestFailure 方法:
public class onFailure extends TestListenerAdapter {
@Override
public void onTestFailure(ITestResult result) {
File scrFile = ((TakesScreenshot)driver.getScreenshotAs(OutputType.FILE));
FileUtils.copyFile(scrFile, new File("C:\Screenshots\Regression\"+nameVar+"_"+envVar+".png"));
}
}
然后您可以轻松使用 Extent Reports,它可以将屏幕截图附加到您的报告中,查看社区版 here!
OP评论后更新:
是否有Cucumber可用的TestNG截图嵌入方法?
我有以下 Cucumber 方法 运行,但是 JUnit 或 TestNG 是否有类似的方法将图像附加到创建的报告(XML 报告)
public void close_browser_window(Scenario scenario) throws Exception {
if (scenario.isFailed()) {
scenario.embed(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES), "image/png");
}
}
我认为你的问题有两条路径。 一个正在截取屏幕截图,另一个正在将其附加到 XML 报告中。
因此,在 TestNG 中,为了截取屏幕截图,您可以像这样重写 OnTestFailure 方法:
public class onFailure extends TestListenerAdapter {
@Override
public void onTestFailure(ITestResult result) {
File scrFile = ((TakesScreenshot)driver.getScreenshotAs(OutputType.FILE));
FileUtils.copyFile(scrFile, new File("C:\Screenshots\Regression\"+nameVar+"_"+envVar+".png"));
}
}
然后您可以轻松使用 Extent Reports,它可以将屏幕截图附加到您的报告中,查看社区版 here! OP评论后更新: