2016-02-04 6 views
3
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.

Может кто-нибудь, пожалуйста, предложите, что я делаю неправильно. Заранее спасибо

+0

Что делает исключение? используйте 'ex.printStacktrace()' before' return false; ' – Yazan

+0

org.im4java.core.CommandException: java.io.IOException: не удается запустить программу« сравнить »: CreateProcess error = 2, система не может найти указанный файл –

+0

' Система не может найти указанный файл. Возможно, одно из изображений не существует. убедитесь, что текущие и ожидаемые изображения действительно существуют в заданном пути – Yazan

ответ

0

Я потратил слишком много времени, чтобы исправить эту проблему. Решение:

  1. Вы должны полностью установить ImageMagick, выбрав все флажки.
  2. Вы должны установить путь установки к переменным окружения .
  3. Дополнительно: перезагрузите компьютер для этих настроек, будет правильно работать .

С этими шагами я решил свои проблемы.