Не удалось найти решение для обнаружения кнопки камеры для разных устройств в скрипте Espresso, которое будет запущено в Firebase Test Lab - PullRequest
5 голосов
/ 19 марта 2019

Мне нужно создать скрипт с использованием Espresso для тестирования моего приложения в тестовой лаборатории Firebase. Мое приложение использует камеру для захвата изображений, и я открыл приложение камеры по умолчанию.

Для тестирования на моем устройстве я даю имя пакета для используемого устройства. Проблема в том, что имена пакетов приложений камеры для разных устройств Android различны, и мы не знаем каждое из них. Также нехорошо жестко кодировать имена пакетов.

Я искал и не смог найти способ найти решение.

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 19 марта 2019

Я не думаю, что есть хороший способ сделать это с реальным приложением камеры, так как приложение камеры часто отличается между моделями устройств и версиями Android.

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

0 голосов
/ 26 марта 2019

Вы можете использовать android.support.test.espresso.intent, чтобы смоделировать намерение запуска камеры

https://guides.codepath.com/android/UI-Testing-with-Espresso#stubbing-out-the-camera

также ref: http://www.qaautomated.com/2016/02/testing-camera-activity-using-intent.html

проверить пример Google https://github.com/googlesamples/android-testing/tree/master/ui/espresso/IntentsAdvancedSample

...