如何将屏幕截图附加到 selenium java 黄瓜的 azure 报告
How to attach screenshot to azure report for selenium java cucumber
我在 azure devops 中 运行ning 我的 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 报告中显示失败的屏幕截图?
恐怕目前没有可以在azure report中显示屏幕截图的插件。因为屏幕截图是在 .html 黄瓜报告中生成的。并且 azure devops 不支持在 build/release 管道中发布通用 HTML。
我想您看到的测试结果在 Azure 管道构建结果页面的 Tests 选项卡下。它是已发布到 azure 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将屏幕截图复制到一个地方,然后发布以构建工件。
我在 azure devops 中 运行ning 我的 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 报告中显示失败的屏幕截图?
恐怕目前没有可以在azure report中显示屏幕截图的插件。因为屏幕截图是在 .html 黄瓜报告中生成的。并且 azure devops 不支持在 build/release 管道中发布通用 HTML。
我想您看到的测试结果在 Azure 管道构建结果页面的 Tests 选项卡下。它是已发布到 azure 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将屏幕截图复制到一个地方,然后发布以构建工件。