我正在尝试使用黄瓜jvm在我的范围报告上显示我捕获的截图。我遇到的问题是.embed只接受在本地存储图像的byte []。我正在尝试分享这份报告,我已经看到了一些针对ruby的解决方案,但对于Java来说并不多。任何帮助将不胜感激。这是我目前的实施。
我还试图将所有图像存储在每次测试运行后创建的测试文件夹中。
public static void embedScreenshotInReport(Scenario scenario){
if(scenario.isFailed()){
String folderExt = baseUtility.getTodayDate();
String destin = baseUtility.createTestFolder(System.getProperty("user.dir")+"/screenshots/"+folderExt);
String dest = destin+scenario+".png";
try{
String base64Screenshot = null;
TakesScreenshot tsDriver;
tsDriver = (TakesScreenshot) getDriver();
base64Screenshot = tsDriver.getScreenshotAs(OutputType.BASE64);
FileOutputStream out = new FileOutputStream(dest);
byte[] decodeScreenshot = Base64.decodeBase64(base64Screenshot.getBytes());
out.write(decodeScreenshot);
scenario.embed(decodeScreenshot, "image/png");
out.close();
}