我是靠谱客的博主 潇洒毛衣,最近开发中收集的这篇文章主要介绍JavaSelenium的截图对比代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的截图对比代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部