Ограничение 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
Надеюсь, это поможет