Как написать тестовые примеры для работы на домашнем экране, используя Robotium в Android - PullRequest
3 голосов
/ 26 июля 2011

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

Ответы [ 3 ]

1 голос
/ 27 июля 2011

Экран блокировки не является обычным приложением, поэтому вы не сможете его установить (что означает, что вы не можете протестировать его с помощью robotium).

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

0 голосов
/ 08 сентября 2016

Ограничение Robotium и Espresso

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

Это означает, что они не будут проверять некоторые виды диалогов, всплывающих окон, уведомлений или экрана блокировки.

Selenium, Appium, Calabash (согласно ответу thienkhoi tran)

Selenium - это еще один тестовый фреймворк, который имеет собственную реализацию на Android под названием Selendroid. Если вы хотите сохранить только одну платформу тестирования Selendroid, а также Calabash (тестовая среда с открытым исходным кодом на основе Cucumber с большой поддержкой Xamarin парней) и Appium (еще один отличный инструмент с поддержкой Testdroid ) будет хорошим выбором.

У меня нет опыта работы с этими платформами, но я почти уверен, что, по крайней мере, Apium может выполнять тесты на домашнем экране, но его синтаксис нелегко выучить и прочитать как Calabash или Robotium.

Решение: Robotium с uiautomator

Наконец, мы решили сохранить Robotium тесты и просто добавить еще один фреймворк для этого. Espresso, как я уже сказал, этого не сделает, но Google с поддержкой тестирования Android выпустит еще одну инструментальную среду под названием uiautomator, которая отлично работает с Espresso, но также и с Robotium.

Проверка: https://github.com/codepath/android_guides/wiki/UI-Testing-with-Robotium#robotium-in-googles-espresso-way (для изменения конфигурации Robotium на Espresso-look-a-like)

Официальный uiautomator сайт: https://google.github.io/android-testing-support-library/docs/uiautomator/

Как смешать Eespresso с uiautomator (работает на самом деле также с Robotium): http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html

Учебник: https://software.intel.com/en-us/android/articles/automatic-android-testing-with-uiautomator

Надеюсь, это поможет

0 голосов
/ 01 апреля 2015

Если вы хотите протестировать приложение с селеном, или у вас должен быть исходный код, или у вас должно быть приложение, которое имеет знак, такой же, как и у тестируемого проекта для запуска. Обычно люди используют отладку хранилища ключей, чтобы подписать их оба, а затем проверить их.
Исходя из этого правила, вы хотите протестировать Launcher, у вас должен быть корневой телефон -> загрузить приложение для запуска и повторно подписать -> заменить новое приложение для запуска на текущее приложение для запуска в телефоне с рутом.
Так что это так сложно.
Кроме того, вы можете создать контрольный пример с помощью диспетчера устройств для взаимодействия с оборудованием устройства, таким как блокировка, разблокировка, включение Wi-Fi, GPS ...

...