#android #ui-automation
#Android #пользовательский интерфейс-автоматизация
Вопрос:
Я пытался сделать снимок экрана во внутреннем хранилище во время тестирования автоматизации, но при запуске теста он не показал никакой ошибки, но когда я проверяю файл, снимок экрана не был сделан успешно, я сейчас в замешательстве, пожалуйста, помогите мне ~
Вот часть моего кода:
У меня есть разрешение в моем AndroidManifest.xml уже
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS "/>
скриншот
UiDevice mDevice =UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
mDevice.pressHome();
mDevice.takeScreenshot(new File("/sdcard/Pictures/test.png"));
sleep(3000);
Я уверен, что направление не ошибочное, потому что я пробовал тот же код раньше, он работал нормально, но через несколько дней я снова устал от него, и он не сработал без отображения какой-либо ошибки.
Ответ №1:
Можете ли вы попробовать
mDevice.takeScreenshot(новый файл(«/sdcard/Download/test.png»)); режим ожидания (3000);
Комментарии:
1. Я попробовал, и это не сработало, может быть, проблема не в том направлении, которое я предполагаю?
2. @abcde581125 делает снимок экрана с помощью команды adb shell, это работает?
3. спасибо за ваш совет, я это знаю, но сейчас мне нужно сделать снимок экрана автоматически, вот почему я использую этот способ создания скриншота, могу ли я автоматически сделать снимок экрана с помощью команды adb shell?
4. ДА… попробуйте использовать UIDevice.executeShellCommand(«команда»); Также не забудьте исключить строку «adb shell» из самой команды … если она не работает… расскажите мне о команде, я попробую ее здесь и поделюсь с вами точным кодом