我有一個問題,我截取的螢屏截圖沒有顯示在 TestNg 報告插件中
我的螢屏截圖代碼:
public void ScreenShot() {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH_mm_ss");
LocalDateTime now = LocalDateTime.now();
String destDir = System.getProperty("user.dir") "/" "test-output/ScreenShots";
String FileName = "SoftAssertScreenshot_" dtf.format(now) ".png";
String DestFile = destDir "/" FileName;
Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver);
BufferedImage image = screenshot.getImage();
try {
ImageIO.write(image, "PNG", new File(DestFile));
System.out.println("test");
} catch (IOException e) {
e.printStackTrace();
}
Reporter.log("</br><font color='#73a9d0'>***************Screen Of the error****************</font>");
Reporter.log("</br><img id='ErrorResult' src='" DestFile "' style='width:600px'/>");
}
測驗報告中顯示的內容:[![測驗結果影像][1]][1]
測驗中的 HTML :
<img id="ErrorResult" src="C:\Users\user\eclipse-workspace\07zr-aut\Demo_Automatisation/test-output/ScreenShots/SoftAssertScreenshot_2021-11-24 08_50_12.png" style="width:600px">
謝謝您的幫助 ![1]:
HTML :
<img id="ErrorResult" src="C:\Users\Nandan\EclipseWorkspace\Selenium3_SO/Data/SO.png" style="width:600px">
您的Reporter.log代碼沒有任何問題。請嘗試以下,
檢查影像是否確實存在于該位置
C:\Users\user\eclipse-workspace\07zr-aut\Demo_Automatisation/test-output/ScreenShots/SoftAssertScreenshot_2021-11-24 08_50_12.png在行后放置一個除錯點
ImageIO.write(image, "PNG", new File(DestFile));以確認影像已成功寫入給定位置。screenshot.getImage();getImage()方法的目的是什么?它回來了RenderedImage嗎?如果是,您在哪里傳遞檔案位置?我正在做如下所示并且它正在作業。您是否遵循相同的方法?
String DestFile = System.getProperty("user.dir") "/Data/" imageName ".png";
Image image = ImageIO.read(new File(DestFile));
BufferedImage buffered = (BufferedImage) image;
ImageIO.write(buffered, "PNG", new File(DestFile));
這應該對你有幫助。您需要找出 Jenkins 作業區中 screenshots 檔案夾的確切位置并更新String destDir
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/365659.html
