2014-07-07 86 views
1

我正在嘗試編寫一個測試用例,該屏幕需要屏幕截圖,並且它們會加載此截圖進行圖像處理。到目前爲止,我發現下面的方法Robotium - 如何截取屏幕截圖並從測試用例內部打開

solo.takeScreenshot() 

的takeScreenshot()方法會將照片保存在「/ SD卡/ Robotium-截圖/」文件夾中的設備。

有什麼方法可以用來訪問保存在這個文件夾中的文件嗎?

謝謝!

+0

你想要怎麼處理圖片,假設你的應用程序擁有許可,就像你使用任何android應用程序一樣,它很容易打開它。 –

回答

1

您可以告訴robotium截圖使用哪個文件名。 Robotium將異步保存文件,因此您需要等待文件出現才能使用它。

solo.takeScreenshot("ScreenshotFile"); 
    final File file = new File(Environment.getExternalStorageDirectory() + "/Robotium-Screenshots/", "ScreenshotFile" + ".jpg"); 
    final int TIMEOUT = 5000; 
    assertTrue(solo.waitForCondition(new Condition() { 
     @Override 
     public boolean isSatisfied() { 
      return file.exists(); 
     } 
    }, TIMEOUT)); 
    HERE IS WHERE YOU CAN DO WHATEVER YOU WANT WITH file 

當然,在運行測試之前,在後續運行中文件將存在。您需要清理文件或爲每次測試運行生成一個新的文件名。