寫在前面
自動化測試過程當中,運行失敗截圖能夠很好的幫咱們定位問題,所以,截圖操做也是咱們自動化測試中的一個重要環節。css
截圖方法
一、經過截圖類TakeScreenshout實現截圖html
特色:截取瀏覽器窗體內的內容,不包括瀏覽器的菜單和桌面的任務欄區域java
具體示例代碼以下:瀏覽器
public void testScreenshoutByTakesScreenshot() { driver.manage().window().maximize(); driver.get("https://www.cnblogs.com/longronglang"); driver.manage().window().maximize(); //執行屏幕截圖操做 File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //經過FileUtils中的copyFile()方法保存getScreenshotAs()返回的文件;"屏幕截圖"即時保存截圖的文件夾 try { FileUtils.copyFile(srcFile, new File("D:\\screenshot\\經過TakesScreenshot截圖.jpg")); } catch (IOException e) { e.printStackTrace(); } }
二、經過Robot對象截屏微信
特色:截取瀏覽器窗體內的內容及瀏覽器的菜單和桌面的任務欄區域ide
具體示例代碼以下:測試
/** * 經過Robot實現實現截圖 */ @Test public void testScreenshoutByRobot() { driver.manage().window().maximize(); driver.get("https://www.cnblogs.com/longronglang"); driver.manage().window().maximize(); //調用截圖方法 BufferedImage img = null; try { img = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(img, "jpg", new File("D:\\screenshot\\經過Robot截圖.jpg")); } catch (AWTException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } }
三、截取目標區域圖片code
特色:可指定元素及區域大小截圖htm
具體示例代碼以下:對象
/** * 經過指定元素及區域大小截圖 */ @Test public void testScreenshoutByElement() { driver.get("https://www.cnblogs.com/longronglang"); //獲取頁面看板娘元素 WebElement element = driver.findElement(By.cssSelector("[width='180px']")); try { FileUtils.copyFile(captureElement(element), new File("D:\\screenshot\\經過element元素及區域大小截圖.jpg")); } catch (Exception e) { e.printStackTrace(); } }
效果以下
以上就是關於截圖的經常使用方法,僅供參考,若是以爲好,能夠關注我哦!
EOF
本文做者:久曲建的測試窩
本文連接:https://www.cnblogs.com/longronglang/p/11332194.html
關於博主:評論和私信會在第一時間回覆。或者直接私信我。
版權聲明:本博客全部文章除特別聲明外,均採用 BY-NC-SA 許可協議。轉載請註明出處!
聲援博主:若是您以爲文章對您有幫助,能夠點擊文章右下角【推薦】一下。您的鼓勵是博主的最大動力!
優秀不夠,你是否無可替代
軟件測試交流QQ羣:721256703,期待你的加入!!
歡迎關注個人微信公衆號:軟件測試君