Robotium Руководство: Android Тестовая среда с примером
⚡ Умное резюме
Robotium это открытый исходный код Android Фреймворк для автоматизации тестирования, который управляет нативными и гибридными приложениями через их пользовательский интерфейс, позволяя тестировщику создавать сценарии функционального, системного и приемочного тестирования, охватывающие несколько аспектов. Android деятельности.
Что такое Robotium?
Robotium это Android Фреймворк для тестирования, автоматизирующий тестовые сценарии для нативных и гибридных приложений. Используется RobotiumРазработчик может создавать надежные автоматизированные тестовые сценарии для графического интерфейса пользователя. Android приложения. Разработчик также может писать сценарии функционального, системного и приемочного тестирования, охватывающие несколько областей. Android деятельности.
Robotium Фреймворк для тестирования
Стандарт Android Тестовая среда имеет ограничения, перечисленные ниже.
- Невозможно справиться с несколькими видами деятельности
- Производительность выполнения теста низкая
- Тестовые примеры сложны и трудны в реализации.
Robotium Этот фреймворк — лучший выбор для проведения тестирования. Android Приложение.
Robotium Это фреймворк с открытым исходным кодом, который считается расширением Android тестовая среда. Использование RobotiumРазработчик может создавать надежные автоматизированные тестовые сценарии для графического интерфейса пользователя. Android Более того, разработчик может писать сценарии функционального, системного и приемочного тестирования, охватывающие множество приложений. Android деятельности.
В таблице ниже приведено краткое описание расширенных функций, которые отличают одну от другой. Robotium из простой системы измерительных приборов.
Расширенные возможности Robotium
Robotium Классы тестовых примеров
Robotium поставляется с небольшим набором классов для тестирования, а в примере из статьи используется импорт устаревших классов. com.jayway.android.robotium.solo пакет. Эти классы поддерживают тестовые примеры, охватывающие несколько видов деятельности, и Solo интегрирован с ActivityInstrumentationTestCase2.
Примечание: текущий Robotium В релизах тот же класс доступен под более коротким названием. com.robotium.solo пакет, в то время как координаты Maven оставались com.jayway.android.robotium:robotium-solo. Настройте импорт в соответствии с версией JAR-файла, который вы фактически добавите в проект.
На приведенной ниже диаграмме показано, как класс Solo располагается поверх тестового примера инструментального тестирования.
Интеграция Robotium и ActivityInstrumentationTestCase2
Тестировщик может писать тестовые примеры, не зная архитектуры приложения, что делает такой подход формой тестирование черного ящикаЭто существенное преимущество по сравнению с равниной. Android классы тестовых примеров.
Как использовать Robotium
Использовать Robotium и на Вашем Android Для выполнения тестового проекта необходимо следовать приведенным ниже шагам.
Как это работает? Robotium
Чтобы гарантировать качество вашей продукции. Android Для подачи заявки следуйте описанной ниже четырехэтапной процедуре.
- Разработайте спецификацию тестирования.
- Разработайте тестовую программу.
- Выполните тестовый пример на целевом устройстве.
- Соберите результаты теста.
Приведенная ниже блок-схема упорядочивает эти четыре этапа.
Android процедура тестирования приложения
ШАГ 1) Разработка спецификации испытаний
Это первый шаг тестирования вашего приложения. На этом шаге вы определяете объект тестирования. Android Приложение имеет множество объектов, которые необходимо протестировать, таких как пользовательский интерфейс, активности, компоненты и сервисы. Четкое определение целей помогает обеспечить широкое покрытие тестами.
- Спланируйте типы тестирования, которые следует провести (модульное тестирование, функциональное тестирование, системное тестирование).
- Разработайте каждый прецедент для максимального охвата при сохраненииping Количество тестовых случаев невелико. Чем больше кода вы тестируете, тем выше вероятность раннего обнаружения ошибок.
ШАГ 2) Напишите тестовую программу
Этот раздел поможет вам написать эссе. Android тестовая программа с использованием Android JUnit тесты и RobotiumПредположим, вы уже разработали Android программа под названием HelloAndroidДанная программа обладает функциями, описанными ниже.
- Выведите на экран текст «Hello world!».
- Отобразить приветствиеAndroid Сообщение появляется при нажатии пользователем кнопки «Старт».
На скриншоте ниже показано работающее на устройстве тестируемое приложение.
ПриветAndroid приложению
Системные требования
- Android Платформа поставляется с предварительно интегрированным модулем. JUnit 3-я структура, которая и есть то, что
ActivityInstrumentationTestCase2строится на. - Чтобы создать Android тестовый проект от EclipseВашему станку требуется исправный механизм. Android Установка SDK.
- Установите текущую версию Android SDK платформы, а не закреплённый более старый релиз.
На скриншотах в этом пошаговом руководстве используются Eclipse с помощью плагина ADT, который был стандартным набором инструментов на момент написания примера. Eclipse Поддержка ADT прекращена, поэтому на современном компьютере вам потребуется... скачать Android Studio вместо этого используйте тот же тестовый код внутри Gradle модуль.
Для того, чтобы получить Robotium фреймворк для тестирования, скачайте его. Robotium библиотека из Robotium Проект страницу.
Создать Android Тестовый проект
- Нажмите Файл -> Создать -> Другое.
- Выбирайте Android -> Android Протестируйте проект, как показано на рисунке ниже, затем выберите «Далее».
Создать новый Android тестовый проект
Напишите название вашего тестового проекта. Согласно общепринятой системе именования, тестовый проект должен называться «Hello».AndroidТест".
Добавьте название тестового проекта в соответствии с принятым соглашением об именовании.
Выберите тестируемое приложение. В данном случае это Hello.Android, затем нажмите Готово.
Выберите целевое приложение для тестирования.
Создание наборов тестов
На основе вашей спецификации тестов вы создаете наборы тестов для вашей тестовой программы. Вы можете выбрать из различных вариантов. тестирование программного обеспечения В этом руководстве используется стандартный фреймворк. Android структура тестирования ActivityInstrumentationTestCase2Для тестирования с помощью Robotium, добавить Robotium файл библиотеки в libs директория внутри папки вашего проекта.
Тестовый пример определяет набор инструментов, используемых для выполнения нескольких тестов. Для определения тестового примера следуйте приведенной ниже структуре программы.
- Реализуйте подкласс класса TestCase.
- Определите переменные экземпляра, которые будут хранить состояние прибора.
- Инициализируйте состояние фикстуры, переопределив метод setUp().
- Для очистки ресурсов после проверки переопределите метод tearDown().
Приведенная ниже диаграмма отображает эту структуру на тестовой программе, которую вы собираетесь написать.
Структура тестовой программы
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Добавление тестовых случаев
- В том же пакете, что и набор тестов, создайте классы TestCase.
- Для проверки определенной активности, например, приветствия.AndroidСоздайте тестовый случай, расширяющий ActivityInstrumentationTestCase2.Android>.
- Внутри этого класса тестировщик получает тестируемое действие с помощью метода getActivity().
- Создайте тест для этой активности, добавив метод с именем «test + исходное имя метода».
- Внутри метода тестирования тестировщик может использовать Android JUnit Функции для сравнения фактического значения с ожидаемым значением. Эти методы показаны ниже.
В таблице ниже перечислены методы проверки утверждений и взаимодействия, наиболее часто используемые в обеих системах.
Примеры методов Robotium и Android структура тестирования
Приведенный выше набор тестов подтверждает, что графический интерфейс приложения отображает текст «Hello World!» и содержит кнопку с названием «Start».
ШАГ 3) Запустите тест
После завершения написания тестовой программы запустите тест, выполнив следующие шаги.
- Подключите Android Подключите устройство к своему ПК или запустите эмулятор, если реальное устройство недоступно.
- В вашей IDE щелкните правой кнопкой мыши по тестовому проекту и выберите «Запустить как» → Android Модульное тестирование.
На скриншоте ниже показан запуск теста из IDE.
Запуск тестовой программы
Помимо запуска теста из IDE, вы можете запустить его из командной строки. В этой тестовой программе используется тестовый пакет. com.example.helloandroid.testВ терминале Linux используйте следующую команду для запуска всех тестов из этого пакета.
$ adb shell am instrument -w -e package com.example.helloandroid.test
ШАГ 4) Получите результаты теста
После выполнения теста вы собираете его результаты.
В этой тестовой программе выполняются четыре метода тестирования. В приведенном ниже примере все тестовые случаи прошли успешно.
Результаты тестирования выводятся после успешного прохождения всех тестовых случаев.
Если какой-либо тестовый случай не пройден, отображается результат, в котором указано, какие именно тестовые случаи завершились неудачей.
Вывод результатов тестирования при сбое тестового случая
Источник Code Примеры
В этой статье приведены примеры исходного кода, которые помогут вам лучше понять материал урока и быстро освоить технические детали.
- ПриветAndroid: тестируемое приложение.
- ПриветAndroidТест: тестовая программа, использующая Android тестовая среда.
Если вы хотите сравнить Robotium Другие варианты в этом разделе см. в разделе тестирование мобильного приложения руководство, Appium учебник и сводка инструменты для тестирования мобильных приложений.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)