Учебное пособие по Robotium: ваша первая платформа для Android

Содержание:

Anonim

Что такое Роботиум?

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

В этом руководстве вы узнаете:

  • Фреймворк для тестирования Robotium
  • Как пользоваться Robotium
  • ШАГ 1) Спецификация проектных испытаний
  • ШАГ 2) Напишите тестовую программу
  • ШАГ 3) Запустите тест
  • ШАГ 4) Получите результат теста

Фреймворк для тестирования Robotium

Стандартная среда тестирования Android имеет некоторые ограничения, как показано ниже.

  • Невозможно справиться с несколькими действиями
  • Производительность выполнения теста медленная
  • Тестовые примеры сложны и трудны для реализации

Robotium структура является лучшим выбором для тестирования поведения на приложениях для Android

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

Расширенные возможности Robotium

Классы тестовых примеров Robotium

Robotium использует набор классов ( com.jayway.android.robotium.solo ) для тестирования . Этот класс поддерживает тестовые примеры, охватывающие несколько действий. Solo интегрирован с ActivityInstrumentationTestCase2.

Интеграция Robotium и ActivityInstrumentationTestCase2

Тестировщик может писать тестовые примеры без знания дизайна приложения (тестирование черного ящика), используя классы тестовых примеров Robotium. Это выдающаяся функция по сравнению с классами тестовых случаев Android.

Как пользоваться Robotium

Чтобы использовать Robotium в своем тестовом проекте Android, вам необходимо выполнить следующие действия.

Использование Robotium для тестирования приложений Android. Чтобы гарантировать качество вашего Android-приложения, вы должны следовать приведенной ниже процедуре.

  1. Спецификация проектных испытаний
  2. Разработать тестовую программу
  3. Выполнить тестовый пример на целевом устройстве
  4. Соберите результат теста

Android-приложение Процедура тестирования

ШАГ 1) Спецификация проектных испытаний

  • Это первый шаг к тестированию вашего приложения. На этом шаге вы определяете цель для тестирования. В вашем приложении для Android необходимо протестировать множество целей, таких как пользовательский интерфейс, активность, компоненты, службы. Четкое определение цели в вашем приложении поможет достичь широкого тестового покрытия.
  • Спланируйте, какие типы тестов следует проводить (модульное тестирование, функциональное тестирование, системное тестирование).
  • Создавайте тестовые примеры для максимального охвата, но минимизируйте количество тестовых примеров. Чем больше кода проверяется, тем больше шансов на раннее обнаружение ошибки.

ШАГ 2) Напишите тестовую программу

В этом разделе рассказывается, как написать тестовую программу Android с помощью Android Junit Test и Robotium. Предположим, вы уже разработали программу для Android под названием HelloAndroid. Эта программа имеет некоторые функции, описанные ниже:

  • Вывести на экран текст «Hello world!» на экране.
  • Отображать сообщение HelloAndroid, когда пользователь нажимает кнопку «Пуск»

Приложение HelloAndroid

Системные Требования

  • Платформа Android поставляется с предварительно интегрированной структурой JUnit 3.0.
  • Чтобы создать тестовый проект Android из Eclipse, на вашем компьютере должны быть установлены:
    • Последняя версия Android Platform (в настоящее время Android 8.1)

Вы можете загрузить Eclipse IDE со встроенным ADT (Android Developer Tools). Он включает в себя основные компоненты Android SDK и версию Eclipse IDE.

Для среды тестирования Robotium вам необходимо отключить библиотеку Robotium с веб-страницы Robotium.

Создать тестовый проект Android

  • Нажмите Файл -> Создать -> Другое.
  • Выберите: Android -> Тестовый проект Android, как показано на рисунке ниже -> Выберите «Далее».

Создать новый тестовый проект Android

Напишите название вашего тестового проекта. В соответствии с соглашением об именах ваш тестовый проект должен называться HelloAndroidTest.

Добавить базу имен тестового проекта в соответствии с соглашением об именах

Выберите тестируемое целевое приложение. В данном случае это HelloAndroid, нажимаем Finish.

Выберите тестируемое целевое приложение

Создать наборы тестов

Основываясь на вашей спецификации теста, вы начали создавать наборы тестов для своей тестовой программы. Вы можете выбрать различные рамки тестирования. В этом руководстве я выбрал стандартную среду тестирования Android ActivityInstrumentationTestCase2 . Вы должны добавить файл библиотеки Robotium в каталог libs в папке вашего проекта, если вы хотите протестировать с помощью платформы Robotium. (Вы создаете папку lib в папке своего проекта).

Тестовый пример определяет приспособление для запуска нескольких тестов. Чтобы определить тестовый пример, вы должны следовать приведенной ниже структуре программы:

  • Реализуйте подкласс TestCase.
  • Определите переменные экземпляра, которые хранят состояние прибора
  • Инициализировать состояние прибора, переопределив setUp ()
  • Очистка после теста путем переопределения tearDown ().

Структура тестовой программы

пакет com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;импортировать com.jayway.android.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.widget.TextView;открытый класс HelloAndroidTest расширяет ActivityInstrumentationTestCase2  {частный HelloAndroid mActivity;частный TextView mView;private String resourceString;частное соло соло;public HelloAndroidTest () {// TODO Заглушка автоматически сгенерированного конструктораsuper ("com.example.helloandroid", HelloAndroid.class);}@Overrideprotected void setUp () выдает исключение {// TODO Заглушка автоматически сгенерированного метода// super.setUp ();mActivity = this.getActivity ();соло = новое Соло (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Overrideprotected void tearDown () выбрасывает исключение {// TODO Заглушка автоматически сгенерированного метода//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Целевое приложение содержит текстовое сообщение «Hello World!» * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * проверка активности HelloAndroid в целевом приложении * /public void testCurrentActivity () выдает исключение {solo.assertCurrentActivity («неправильная активность», HelloAndroid.class);}/ * пользовательский интерфейс тестового приложения содержит кнопку «Пуск» * // * отправляем кнопку нажатия события в целевое приложение * /public void testSearchButton () выдает исключение {boolean found = solo.searchButton ("Старт");solo.clickOnButton («Старт»);assertTrue (найдено);}}

Добавление тестовых случаев

  • В одном пакете с TestSuite мы создаем классы TestCase
  • Чтобы проверить определенную активность, например, HelloAndroid, создайте экстент тестового примера ActivityInstrumentationTestCase2
  • В этом классе тестировщик может получить активность тестирования с помощью метода getActivity ().
  • Вы можете свободно создать тест для тестовой активности, создав метод с именем "test + original Method Name".
  • В методе тестирования тестировщик может использовать функцию Android JUnit для сравнения фактического значения и ожидаемого значения. Эти методы показаны ниже.

Примеры методов Robotium и Android Testing framework

Эти тестовые наборы, приведенные выше, подтвердили, что графический интерфейс приложения должен отображать текст «Hello World!» И содержать название кнопки «Start».

ШАГ 3) Запустите тест

После того, как вы закончите писать тестовую программу, запустите тест, следуя инструкциям ниже.

  • Подключите устройство Android к компьютеру (или запустите эмулятор, если у вас нет настоящего устройства).
  • В среде IDE щелкните правой кнопкой мыши «Запустить как» Android Unit Test.

Запуск тестовой программы

Помимо запуска теста в IDE, вы можете запустить тест из командной строки. В этой тестовой программе тестовый пакет - com.example.helloandroid.test. В терминале Linux вы можете использовать следующую команду для запуска всех тестов в этом пакете:

$ adb shell am instrument -w -e пакет com.example.helloandroid.test

ШАГ 4) Получите результат теста

После выполнения теста вы получите результаты теста.

В этой тестовой программе выполняются 4 метода тестирования. В этом случае все тестовые примеры пройдены.

Вывод результатов теста в случае, если все тесты пройдены

В случае сбоя тестового случая вывод отображается и показывает, какие тестовые примеры не прошли.

Вывод результатов теста в случае сбоя всех тестовых случаев

Примеры исходного кода

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

  • HelloAndroid: Тестируемое приложение.
  • HelloAndroidTest: тестовая программа с использованием Android Test framework