關(guān)于Selenium的UI自動(dòng)化測(cè)試屏幕截圖功能實(shí)例代碼
UI自動(dòng)化測(cè)試執(zhí)行過程中,當(dāng)遇到檢查失敗的情況,往往會(huì)發(fā)現(xiàn)打印的log并不能有效地幫助我們定位問題。我們需要失敗時(shí)刻的屏幕截圖來重現(xiàn)當(dāng)時(shí)的失敗場景,進(jìn)而排查出錯(cuò)原因。
基于這種需求可以使用Selenium的屏幕截圖功能。
實(shí)現(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); // 關(guān)鍵代碼,執(zhí)行屏幕截圖,默認(rèn)會(huì)把截圖保存到temp目錄 FileUtils.copyFile(scrFile, new File(screenPath)); //利用FileUtils工具類的copyFile()方法保存getScreenshotAs()返回的文件對(duì)象。 } catch (IOException e) { System.out.println("Screen shot error: " + screenPath); System.out.println("該錯(cuò)誤可以查看截圖:"+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(); // 如果不存在則新建一個(gè)目錄 } File dir = new File(fileString); if (!dir.exists()) dir.mkdirs(); String screenPath = dir.getAbsolutePath() + "\\" + screenName; takeScreeshot(screenPath, chrome); }
以上這篇關(guān)于Selenium的UI自動(dòng)化測(cè)試屏幕截圖功能實(shí)例代碼就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python鍵鼠操作自動(dòng)化庫PyAutoGUI簡介(小結(jié))
- Python GUI自動(dòng)化實(shí)現(xiàn)繞過驗(yàn)證碼登錄
- python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例
- Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤操作示例
- Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤實(shí)現(xiàn)自動(dòng)化任務(wù)詳解
- SpringBoot優(yōu)化啟動(dòng)速度的方法實(shí)現(xiàn)
- Android App開發(fā)的自動(dòng)化測(cè)試框架UI Automator使用教程
- Android 自動(dòng)化測(cè)試經(jīng)驗(yàn)分享 UiObejct.getFromParent()的使用方法
- UI自動(dòng)化定位常用實(shí)現(xiàn)方法代碼示例
相關(guān)文章
Java設(shè)計(jì)模式之java責(zé)任鏈模式詳解
這篇文章主要介紹了JAVA 責(zé)任鏈模式的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2021-09-09MyBatis實(shí)現(xiàn)動(dòng)態(tài)SQL的實(shí)現(xiàn)方法
這篇文章主要介紹了MyBatis實(shí)現(xiàn)動(dòng)態(tài)SQL的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼
Feign是一個(gè)開源的Java HTTP客戶端,可以幫助我們?cè)赟pringBoot應(yīng)用中快速構(gòu)建和使用HTTP客戶端,方便實(shí)現(xiàn)服務(wù)間的通信,本文就來介紹一下SpringBoot使用Feign進(jìn)行服務(wù)間通信的實(shí)現(xiàn)示例代碼,感興趣的可以了解一下2024-01-01java?SpringBoot?分布式事務(wù)的解決方案(JTA+Atomic+多數(shù)據(jù)源)
這篇文章主要介紹了java?SpringBoot?分布式事務(wù)的解決方案(JTA+Atomic+多數(shù)據(jù)源),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08Java switch 語句如何使用 String 參數(shù)
這篇文章主要介紹了Java switch 語句如何使用 String 參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06關(guān)于BufferedReader讀取文件指定字符集問題
這篇文章主要介紹了關(guān)于BufferedReader讀取文件指定字符集問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12