Тестирование графического интерфейса с инструментарием в Android - PullRequest
16 голосов
/ 20 апреля 2010

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

Кто-нибудь, имеющий опыт использования Инструментовки для тестирования пользовательского интерфейса?

Ответы [ 4 ]

16 голосов
/ 09 февраля 2012

Официально рекомендуемый способ выполнения тестов пользовательского интерфейса на Android - это инструментарий, да. Взгляните на InstrumentationTestRunner . Существуют обертки для такого рода функций, которые делают его менее болезненным в использовании, один из них - Robotium , другой - Calculon .

Однако в наши дни большинство людей сходятся во мнении, что тестовая среда Google не работает. Это очень ненадежно, очень медленно, а API ужасны, что затрудняет написание и понимание тестов. Следовательно, большинство моих знакомых, использующих более крупные тестовые наборы, выбирают Robolectric , что отводит тестирование пользовательского интерфейса от устройства и Dalvik до простой старой JVM. Он прошел долгий путь и на самом деле очень полезен в наши дни. Проверьте это. Главный недостаток, конечно, заключается в том, что оно не будет на самом деле инструмент приложения на устройстве или даже визуализировать пользовательский интерфейс. Он делает утверждения на уровне кода, поэтому он не подходит для тестов черного ящика.

Другим способом «черного ящика» / сквозного тестирования вашего приложения является Selenium + NativeDriver . NativeDriver - это реализация API-интерфейсов WebDriver, поэтому вы можете запускать тесты в стиле Selenium на устройствах Android.

Еще один инструмент, о котором стоит упомянуть, - это собственный Android monkeyrunner (не тренажер Monkey UI, который просто отправляет случайные события на устройство, что делает его полезным для стресс-тестирования, но не для функционального тестирования). monkeyrunner - это мост устройства со сценарием Python, с помощью которого вы можете отправлять нажатия клавиш и нажатия для инструментов вашего приложения. Опять же, я бы не рекомендовал использовать его, поскольку он изобилует ошибками и имеет очень ограниченную функциональность. Однако он может выполнять и другие функции, например снимать скриншоты тестируемого приложения.

4 голосов
/ 22 декабря 2010

Уже давно вы задавали свой вопрос, но, возможно, мой ответ по-прежнему полезен:

Взгляните на robotium , который поддерживает тестирование пользовательского интерфейса Blackbox для приложений Android. Он работает без инструментов вашего производственного кода, поэтому я надеюсь, что инструментарий не является для вас строгим требованием.

4 голосов
/ 20 апреля 2010

Я не знаком с Instrumentation, но Android поставляется с инструментом под названием "Application Exerciser Monkey" . Он генерирует поток случайных пользовательских входных данных для тестирования приложения в условиях стресса. Его легко использовать и немного забавно смотреть, поскольку ваше приложение сходит с ума от наплыва кликов. Это то, что вы ищете?

2 голосов
/ 14 декабря 2012

Существует несколько новых инструментов тестирования пользовательского интерфейса, которые были запущены с SDK, версия 21:

Механизм тестирования пользовательского интерфейса
Одним из распространенных подходов к тестированию пользовательского интерфейса является Запустите тесты вручную и убедитесь, что приложение работает должным образом. UI Automator - это новая среда тестирования программного обеспечения, доступная в Tools R21 это предоставляет вам инструменты для простой автоматизации задач тестирования пользовательского интерфейса. Это предоставляет графический инструмент для сканирования и анализа компонентов пользовательского интерфейса Android-приложение (uiautomatorviewer), библиотека, содержащая API для создавать настраиваемые функциональные тесты пользовательского интерфейса и механизм выполнения для автоматизировать и запускать тесты на нескольких физических устройствах. UI Automator работает на Android 4.1 (уровень API 16) или выше. Узнать больше перейдите к документации по тестированию пользовательского интерфейса .

Источник: http://android -developers.blogspot.de / 2012/11 / android-sdk-tools-revision-21.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...