2016-01-18 78 views
0

我的任務是使用Sikuli工具進行測試自動化目的。我需要知道是否可以使用Sikuli不在屏幕上的圖像進行處理,如果可以,如何處理。Sikuli圖像處理

任務:截至目前,我有一個捕獲的圖像,說image1,在一個目錄中。我在計算機上打開image1並從image1(使用Sikuli)捕獲更多截圖並將其存儲在一個目錄中並繼續進行測試。

對於我上面提到的任務,我很好奇,如果我可以在我的計算機上打開image1並且讓Sikuli(或任何Java API)直接與該文件一起工作,就可以做到這一切。

非常感謝您的幫助。

回答

0

我不太清楚這個問題。當然你可以使用任何圖像(不僅僅是在Sikuli-IDE中完成的截圖)。 Sikuli-IDE允許您截取屏幕截圖並將它們存儲在文件系統中,但最終會使用存儲在文件系統上的圖像(默認情況下,它們存儲在模塊的文件夾中=您的python腳本的位置是)。

使用Sikuli-IDE中的Ctrl+T,您可以在使用屏幕截圖的視圖和使用圖像路徑的其他視圖之間切換。可以從其他文件夾,從其他模塊等使用圖像。

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; 
    } 
}