2016-01-18 4 views
0

Мне было поручено использовать инструмент Sikuli для автоматизации тестирования. Мне нужно знать, можно ли работать с изображением, которое НЕ на экране с использованием Sikuli, и если да, то каким образом.Обработка изображений Sikuli

Задача: На данный момент у меня есть захваченное изображение, скажем image1, в каталоге. Я открываю image1 на своем компьютере и захватываю больше скриншотов из image1 (используя Sikuli) и сохраняю их в каталоге и продолжаю свои тесты.

Для задачи, о которой я упоминал выше, мне было любопытно, могу ли я сделать все это без открытия image1 на моем компьютере и иметь Sikuli (или любые java API) напрямую работать с файлом.

Благодарим за помощь.

ответ

0

Я не совсем уверен, что понял вопрос. Конечно, вы можете использовать любое изображение (не только скриншот, сделанный в Sikuli-IDE).

Sikuli-IDE позволяет снимать скриншоты и хранить их в файловой системе, но в конце использует изображения, хранящиеся в файловой системе (по умолчанию они хранятся в папке модуля = где ваш скрипт python является).

С Ctrl+T в Sikuli-IDE вы можете переключаться между представлением, используя скриншоты и другое представление, используя путь изображения. Изображения могут использоваться из другой папки, из другого модуля и т. Д.

0

Вы можете сохранить изображение в переменной.

img = "D:/path/of/image/image.PNG" 
if exists(img,1): 
    mouseMove(img) 

Об сохранении изображения, вы хотите сохранить скриншот или только содержимое области изображения?

0

Используйте следующий код для сравнения одного изображения с другим без открытия и поиска его в реальном экране. Это в основном изображение сравнение функция.

public static void main() { 

     String sampleImage = s.capture().getFile(); 

     fn_matchingPattern ("refImgPath" , sampleImage , double minSim); 

    } 



    public static boolean fn_matchingPattern (String refImgPath , String sampleImgPath , double minSim) { 

    try { 
     f = null; 
     f = new Finder(refImgPath); 
     Pattern tempPattern = new Pattern (sampleImgPath).similar((float) minSim); 
     f.find(tempPattern); 
     if (f.hasNext()) 
      return true; 
     else 
      return false; 

    } catch (IOException e) { 
     LogReport.warn("Exception IOException Please check : Reference Img path " + refImgPath); 
     return false; 
    } 
} 
Смежные вопросы