如何解决如何将截图附加到硒Java Cucume的天蓝色报告
我正在azure devops中运行我的selenium java测试服,执行后我可以看到结果,但是不包含失败的屏幕截图。但是,当我在本地计算机上运行它时,正在生成的黄瓜报告包含屏幕截图。
下面是我用来附加屏幕截图的代码
@AfterStep
public void embedScreenshot(Scenario scenario) throws Exception {
if (scenario.isFailed()) {
try {
byte[] scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
scenario.embed(scrFile,"image/png");
} catch (WebDriverException somePlatformsDontSupportScreenshots) {
System.err.println(somePlatformsDontSupportScreenshots.getMessage());
}
}
}
我是否可以使用任何插件或其他任何工具在蔚蓝报告中显示失败的屏幕截图?
解决方法
我担心当前没有插件可用于在azure报告中显示屏幕截图。屏幕截图是在.html黄瓜报告中生成的。而且,azure devops不支持在构建/发布管道中发布通用HTML。
我猜您看到的测试结果在azure管道构建结果页面的 Tests 标签下。而且是已发布给天蓝色的devops的xml格式报告,而不是包含屏幕截图的html报告。
有关此问题的feature request已提交给Microsoft开发团队。您可以对其进行投票,也可以自己创建一个。
作为一种解决方法,您可以使用publish build artifacts task将屏幕快照发布为管道的工件。
steps:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: TestScreenshots'
inputs:
PathtoPublish: '$(System.defaultworkingdirectory)/target/home-page-html' #path to the test result folder(ie. html:target/home-page-html)
ArtifactName: TestScreenshots
然后,您可以从构建摘要页面获取屏幕截图,如下所示:
如果屏幕截图位于多个测试结果文件夹中。您可以使用copy files task将屏幕快照复制到某个位置,然后发布以构建构件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。