2015-03-22 4 views
0

В моем приложении, которое я тестирую, у меня есть возможность отправить отзыв клиенту. Когда я использую эту опцию, gmail открывается, а затем я как бы «заблокирован снаружи» своего приложения. Конечно, query(“*”) возвращает '[]', а команда press_back_button дает мне ошибку выше. Оглядываясь и нашел некоторые решения с корневым устройством.требуется разрешение INJECT_EVENTS - нужно не элегантное решение :)

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

Итак, Я использую ADB команды оболочки:

system("adb shell input text 'this%sis%san%sexample' ")

system("adb shell input keyevent 66") --- для входа

system("adb shell input keyevent 4") ---- для вернуться

system("adb shell input keyevent 27") --- сфотографировать.

(весь список вы можете найти здесь - ADB Shell Input Events)

Но, я работаю здесь слепоту.

Есть ли команды оболочки adb, эквивалентные для запроса?

+0

Что вы хотите делать, когда находитесь на экране gmail? Просто сделайте снимок экрана, а затем вернитесь в приложение? – alannichols

+0

написать сообщение, добавить тему и отправить ее, например, –

+0

Могу ли я спросить, почему вам действительно нужно отправить электронное письмо? Не было бы разумным предположить, что gmail работает? Таким образом, скриншот, показывающий предварительно заполненный адрес электронной почты, должен быть достаточным для того, чтобы вы были счастливы, когда проходит тест? – alannichols

ответ

0

В Android-платформе android-L на платформе/orroid-L есть инструмент под названием uiautomater.jar, который adb может использовать для запуска тестов (хотя я никогда не использовал его для этого) и для дампа xml-файла видимые элементы.

adb shell uiautomator dump test.xml 

создаст файл XML (на устройстве не ваш компьютер), который вы могли бы полистать в вашем коде для проверки всплывающих вы хотите. Если вы хотите взаимодействовать с всплывающим окном, вы можете использовать координаты, указанные в дампе xml, чтобы выбрать, какой из них вы хотите, и использовать событие касания adb, чтобы щелкнуть его.

Это копия с другого вопроса, на который я ответил - Calabash handling "Complete action using" dialog, который имеет немного больше деталей, если необходимо.