溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現(xiàn)Selenium的UI自動化測試屏幕截圖功能

發(fā)布時間:2021-07-22 11:19:07 來源:億速云 閱讀:241 作者:小新 欄目:編程語言

小編給大家分享一下如何實現(xiàn)Selenium的UI自動化測試屏幕截圖功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

UI自動化測試執(zhí)行過程中,當遇到檢查失敗的情況,往往會發(fā)現(xiàn)打印的log并不能有效地幫助我們定位問題。我們需要失敗時刻的屏幕截圖來重現(xiàn)當時的失敗場景,進而排查出錯原因。

基于這種需求可以使用Selenium的屏幕截圖功能。

實現(xiàn)代碼如下:

import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.interactions.Actions;

public static void takeScreeshot(String screenPath, WebDriver chrome){
   try {
     //指定了OutputType.FILE做為參數(shù)傳遞給getScreenshotAs()方法,其含義是將截取的屏幕以文件形式返回。
    File scrFile = ((TakesScreenshot) chrome)
       .getScreenshotAs(OutputType.FILE); // 關鍵代碼,執(zhí)行屏幕截圖,默認會把截圖保存到temp目錄
    FileUtils.copyFile(scrFile, new File(screenPath)); //利用FileUtils工具類的copyFile()方法保存getScreenshotAs()返回的文件對象。 
    } catch (IOException e) {
     System.out.println("Screen shot error: " + screenPath);
     System.out.println("該錯誤可以查看截圖:"+screenPath);
   } catch (Exception e) {
    // TODO: handle exception
   }
  }
  
   public static void takeScreenshot(WebDriver chrome,String imgName) {
    String screenName=imgName+DateUtils.MILLIS_PER_DAY+".jpg";
    String fileString= "D:\\selenium\\SchoolpalERP_QTP\\image";      
    if (!(new File(fileString).isDirectory())) { // 判斷是否存在該目錄
     new File(fileString).mkdir(); // 如果不存在則新建一個目錄
    }
    File dir = new File(fileString);
    if (!dir.exists())
     dir.mkdirs();
    String screenPath = dir.getAbsolutePath() + "\\" + screenName;
    takeScreeshot(screenPath, chrome);
   }

以上是“如何實現(xiàn)Selenium的UI自動化測試屏幕截圖功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI