public class im4jav extends test{
public static void main(String[] args) throws IOException {
WebDriver driver = new FirefoxDriver();
driver.get("https://www.google.co.in/?gfe_rd=cr&ei=fkKzVqasB8yl8wefrraoCg&gws_rd=ssl");
File scrFile = ((TakesScreenshot)driver).
getScreenshotAs(OutputType.FILE);
String current = "c:/temp/image.png";
FileUtils.copyFile(scrFile, new File(current));
boolean compareSuccess = compareImages("c:/temp/expected.png", current, "c:/temp/difference.png");
System.out.println("run ok ? :"+compareSuccess);
driver.close();
}}class test{
static boolean compareImages (String exp, String cur, String diff) {
// This instance wraps the compare command
CompareCmd compare = new CompareCmd();
// For metric-output
compare.setErrorConsumer(StandardStream.STDERR);
IMOperation cmpOp = new IMOperation();
// Set the compare metric
cmpOp.metric("mae");
// Add the expected image
cmpOp.addImage(exp);
// Add the current image
cmpOp.addImage(cur);
// This stores the difference
cmpOp.addImage(diff);
try {
// Do the compare
compare.run(cmpOp);
return true;
}
catch (Exception ex) {
return false;
}
}
}сравнения изображений с использованием im4java
Привет Team,
В приведенной выше коде я пытаюсь сделать скриншот страницы и сравнить его с ожидаемым скриншотом использования im4java Однако даже если фактические и ожидаемые изображения похожи, он по-прежнему выбрасывает ложь, а разностное изображение также не генерируется
Я добавил ожидаемый снимок экрана в папку temp.
Может кто-нибудь, пожалуйста, предложите, что я делаю неправильно. Заранее спасибо
Что делает исключение? используйте 'ex.printStacktrace()' before' return false; ' – Yazan
org.im4java.core.CommandException: java.io.IOException: не удается запустить программу« сравнить »: CreateProcess error = 2, система не может найти указанный файл –
' Система не может найти указанный файл. Возможно, одно из изображений не существует. убедитесь, что текущие и ожидаемые изображения действительно существуют в заданном пути – Yazan