Мне нужно найти решение для проверки некоторых сценариев рендеринга. В основном это некоторые приложения, которые отображают некоторые анимации на экране. Если анимация отображается, тест проходит, если не выполняется. У меня нет источников для apk. До сих пор, используя monkeyrunner, я использовал 2 скриншота и сравнивал их. Если две фотографии, где проходят разные тесты. Теперь из-за ошибки в эмуляторе Android я больше не могу снимать скриншот.Автоматическая обработка сценариев рендеринга Blackbox
ответ
Если вы не можете делать скриншоты с помощью MonkeyRunner, я предлагаю попробовать сделать снимок экрана на устройстве с помощью команды оболочки, вытащив полученное изображение на главный компьютер и прочитав изображение в MonkeyImage.
Во-первых, получить устройство, чтобы сделать скриншот на своем собственном:
monkeyDevice.shell("screencap -p /sdcard/screen.png")
Во-вторых, вытащить скриншот из устройства:
from subprocess import call
call(["adb", "pull", "/sdcard/screen.png"])
В-третьих, загрузите скриншот как MonkeyImage
image = MonkeyRunner.loadImageFromFile('screen.png')
Теперь вы можете сравнить изображения, используя image.sameAs как обычно.
Обратите внимание, что MonkeyRunner.loadImageFromFile был добавлен в версию SDK 13.
Я уже говорил вам, что это больше не работает из-за ошибки в andoird, картинки всегда черные, поэтому мне нужен рабочий стол –
Извините, я не думал, что только скриншоты через MonkeyRunner не работают из вашего описания. Вы могли бы написать класс ActivityInstrumentationTestCase2 и использовать getActivity для доступа к корневому представлению. Когда у вас есть корневой вид, вы можете записать его в файл несколькими способами (см. Http://stackoverflow.com/questions/2661536/how-to-programatically-take-a-screenshot-on-android) и вытащите результирующий файл, как описано выше. Поскольку вы тестируете Blackbox, вы должны повторно подписать целевое приложение с тем же ключом, что и приложение для инструментов, используя инструмент подписи: http://www.troido.de/re-sign.jar –
- 1. Автоматическая обработка больших текстовых файлов
- 2. Asp.net автоматическая обработка формы
- 3. PayPal - автоматическая обработка сделок
- 4. EXC_BAD_ACCESS автоматическая обработка
- 5. Автоматическая обработка электронной почты
- 6. Автоматическая обработка политики TFS
- 7. Автоматическая обработка экспозиции
- 8. Автоматическая многопоточная обработка?
- 9. Автоматическая обработка ошибок/предупреждений
- 10. Обработка тяжелых сценариев Python
- 11. Blackbox-тесты против whitebox
- 12. Автоматическая генерация сценариев смены базы данных
- 13. автоматическая обработка мусора в C++
- 14. Форсирование ASP.NET WebForms для рендеринга сценариев __doPostback()
- 15. Проверка Blackbox многопоточными программами
- 16. Mockito: Mocking «Blackbox» Зависимости
- 17. Implicits and blackbox macros
- 18. Ошибка строительства blackbox exporter
- 19. Android APK test - blackbox
- 20. Клиент BlackBox VOIP
- 21. Автоматическая обработка файлов/входных потоков в Java
- 22. Автоматическая обработка конфликтов SVN для файлов XML
- 23. Автоматическая обработка почтовых сообщений без доставки
- 24. ES6 Promise автоматическая пост-обработка/клонирование результатов
- 25. Java Serialization - Автоматическая обработка измененных полей?
- 26. Автоматическая обработка текста столбца в html
- 27. Автоматическая обработка с использованием оконных приложений/приложений
- 28. Sphinx автоматическая обработка изображений нумерация/подписи?
- 29. Java: автоматическая обработка файлов cookie в HttpClient?
- 30. Google Charts автоматическая/обработка фонового изображения
Добро пожаловать! Как правило, мы стараемся избегать благодарения taglines в вопросах, чтобы сохранить их более аккуратными, вы можете прочитать, почему здесь: «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http: // meta. stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts)». – veducm