WebDriver中實(shí)現(xiàn)對(duì)特定的Web區(qū)域截圖方法
用過 WebDriver 的同學(xué)都知道,WebDriver 可以對(duì)瀏覽器中的頁面進(jìn)行截圖。例如:
public byte[] takeScreenshot() throws IOException {
TakesScreenshot takesScreenshot = (TakesScreenshot) driver;
return takesScreenshot.getScreenshotAs(OutputType.BYTES);
}
這樣產(chǎn)生的圖片是整個(gè)網(wǎng)頁。但有時(shí)候我們并不需要整個(gè)網(wǎng)頁,只需要某些特定的 WebElement,以避免一些干擾。
雖然 WebDriver 本身沒有提供這樣的 API,不過我們可以自己來,就是在全屏的截圖中再進(jìn)行裁剪,如下:
public BufferedImage createElementImage(WebElement webElement)
throws IOException {
// 獲得webElement的位置和大小。
Point location = webElement.getLocation();
Dimension size = webElement.getSize();
// 創(chuàng)建全屏截圖。
BufferedImage originalImage =
ImageIO.read(new ByteArrayInputStream(takeScreenshot()));
// 截取webElement所在位置的子圖。
BufferedImage croppedImage = originalImage.getSubimage(
location.getX(),
localtion.getY(),
size.getWidth(),
size.getHeight());
return croppedImage;
}
其中 ImageIO 和 BufferedImage 分別來自 javax.imageio 和 java.awt.image。
這種方法可以很好的削減截圖的大小,也避免了一些不確定因素(比如日期時(shí)間等),是測(cè)試中保存截圖的很好的方式。
注:如果測(cè)試的網(wǎng)頁中含有 iframe,則需要使用更復(fù)雜的方式計(jì)算 WebElement 的位置,詳見:計(jì)算網(wǎng)頁中某個(gè)元素的位置。
相關(guān)文章
JavaIO?BufferedReader和BufferedWriter使用及說明
這篇文章主要介紹了JavaIO?BufferedReader和BufferedWriter使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
全網(wǎng)最全最細(xì)的jmeter接口測(cè)試教程以及接口測(cè)試流程(入門教程)
本文主要介紹了全網(wǎng)最全最細(xì)的jmeter接口測(cè)試教程以及接口測(cè)試流程,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
java 中的instanceof用法詳解及instanceof是什么意思(推薦)
instanceof 是 Java 的保留關(guān)鍵字。它的作用是測(cè)試它左邊的對(duì)象是否是它右邊的類的實(shí)例,返回 boolean 的數(shù)據(jù)類型。接下來通過本文給大家介紹java 中的instanceof用法詳解及instanceof是什么意思,需要的朋友參考下吧2017-11-11
關(guān)于Spring?Boot內(nèi)存泄露排查的記錄
這篇文章主要介紹了關(guān)于Spring?Boot內(nèi)存泄露排查的記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
教你從頭開始用JAVA創(chuàng)建一個(gè)自己的簡(jiǎn)單API并實(shí)現(xiàn)第三方調(diào)用
在日常開發(fā)的時(shí)候,經(jīng)常會(huì)遇到需要調(diào)用別人的接口的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何從頭開始用JAVA創(chuàng)建一個(gè)自己的簡(jiǎn)單API并實(shí)現(xiàn)第三方調(diào)用的相關(guān)資料,需要的朋友可以參考下2023-12-12
SSH框架網(wǎng)上商城項(xiàng)目第4戰(zhàn)之EasyUI菜單的實(shí)現(xiàn)
SSH框架網(wǎng)上商城項(xiàng)目第4戰(zhàn)之EasyUI菜單的實(shí)現(xiàn),本文主要使用EasyUI技術(shù)簡(jiǎn)單實(shí)現(xiàn)后臺(tái)菜單,感興趣的小伙伴們可以參考一下2016-05-05

