我正在寻找一种在Jenkins中输出TestNG/Selenium屏幕截图的解决方案。理想情况下,当Jenkins作业运行时,我想将图像嵌入到控制台输出中,或者要显示链接显示,以便用户可以在单独的窗口中查看屏幕截图。
这是我现在正在使用的功能:
@AfterMethod
public void takeScreenShotOnFailure(ITestResult testResult) throws IOException {
if (testResult.getStatus() == ITestResult.FAILURE) {
System.out.println("Status: " + testResult.getStatus());
System.out.println("<img src=\"data:image/png;base64," +
((TakesScreenshot)driver).getScreenshotAs(OutputType.BASE64) + "\" ></img>");
}
}
问题在于Jenkins将输出显示为纯文本。我尝试将输出复制到html页面中,看起来不错。因此,看来Jenkins呈现信息的方式导致Firefox/Chrome将html代码显示为纯文本。知道如何解决这个问题吗?还是有更好的方法让TestNG的快照功能与Jenkins一起使用?
最佳答案
您可以使用jenkins项目配置页面“构建后的操作”中的“归档工件”选项来归档屏幕快照。要首先归档,您需要为项目设置自定义工作区。自定义工作区应指向根目录或然后将所有屏幕快照存档后将在项目页面中显示为链接。此处的“报告”将是包含屏幕快照或任何文件的文件夹。报告位于提到的“QTP”文件夹下在自定义workspace.pls中,在归档工件选项中使用斜杠而不是反斜杠。
项目页面:
在jenkins中使用自定义工作区
使用后期构建操作将工件归档
关于java - 将TestNG屏幕截图输出到Jenkins,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29570321/