小編給大家分享一下如何實現Selenium的UI自動化測試屏幕截圖功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、網頁空間、營銷軟件、網站建設、隆陽網站維護、網站推廣。
UI自動化測試執行過程中,當遇到檢查失敗的情況,往往會發現打印的log并不能有效地幫助我們定位問題。我們需要失敗時刻的屏幕截圖來重現當時的失敗場景,進而排查出錯原因。
基于這種需求可以使用Selenium的屏幕截圖功能。
實現代碼如下:
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做為參數傳遞給getScreenshotAs()方法,其含義是將截取的屏幕以文件形式返回。 File scrFile = ((TakesScreenshot) chrome) .getScreenshotAs(OutputType.FILE); // 關鍵代碼,執行屏幕截圖,默認會把截圖保存到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); }
以上是“如何實現Selenium的UI自動化測試屏幕截圖功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創新互聯行業資訊頻道!
分享題目:如何實現Selenium的UI自動化測試屏幕截圖功能
分享網址:http://vcdvsql.cn/article8/poccop.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、小程序開發、網站排名、手機網站建設、網站策劃、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯