概述
package com.gloryroad.testcase;
import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import java.util.zip.Inflater;
import javax.imageio.ImageIO;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class TestCompareImage {
String url="http://www.baidu.com";
public WebDriver driver;
@BeforeMethod
public void setUp(){
driver=new FirefoxDriver();
driver.get(url);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
@AfterMethod
public void tearDown(){
driver.close();
}
@Test
public void compareScreen() throws IOException{
File screenShot=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
File target=new File("resource/sogou_actual.png");
FileUtils.copyFile(screenShot, target);
File fileA=new File("resource/sogou_actual.png");
File fileB=new File("resource/sogou_expect.png");
BufferedImage dataInput=ImageIO.read(fileA);
DataBuffer bufferFileA=dataInput.getData().getDataBuffer();
int FileA=bufferFileA.getSize();
BufferedImage dataOutPut=ImageIO.read(fileB);
DataBuffer bufferFileB=dataOutPut.getData().getDataBuffer();
int FileB=bufferFileB.getSize();
Boolean matchimg=true;
if (FileA==FileB) {
for (int i = 0; i < FileA; i++) {
if (bufferFileA.getElem(i)!=bufferFileB.getElem(i)) {
matchimg=false;
break;
}
}
}else {
matchimg=false;
}
Assert.assertTrue(matchimg, "截图不一样了");
}
}
最后
以上就是潇洒毛衣为你收集整理的JavaSelenium的截图对比代码的全部内容,希望文章能够帮你解决JavaSelenium的截图对比代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复