2014-07-07 2 views
1

Я пытаюсь написать тестовый пример, который снимает скриншот экрана, и они загружают этот скриншот для обработки изображений. До сих пор я нашел следующий методRobotium - Как снять скриншот и открыть изнутри тестовый случай

solo.takeScreenshot() 

Метод takeScreenshot() сохраняет изображение в «/ SDCARD// 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 

Конечно, в последующих прогонах файл будет существовать до запуска теста. Вам либо нужно очистить файл, либо создать новое имя файла для каждого тестового прогона.

Смежные вопросы