Подтвердить что ты не робот

Тестирование GUI с помощью Instrumentation в Android

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

Прошло некоторое время, когда вы задали свой вопрос, но, возможно, мой ответ по-прежнему полезен:

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

Ответ 4

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

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

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