Учебники

Мобильное тестирование — Robotium Framework

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

Robotium можно использовать как для тестирования приложений, в которых доступен исходный код, так и приложений, в которых доступен только APK-файл.

Преимущества Robotium

  • Легко написать, более короткий код. Минимальное время, необходимое для написания твердых тестовых случаев.

  • Вы можете разработать мощные контрольные примеры с минимальными знаниями о тестируемом приложении.

  • Каркас обрабатывает несколько действий Android автоматически. Читаемость тестовых случаев значительно улучшена по сравнению со стандартными инструментальными тестами.

  • Автоматическая синхронизация и задержки.

  • Автоматически следует за текущей деятельностью.

  • Автоматически находит виды.

  • Автоматически принимает свои собственные решения (например, когда прокручивать и т. Д.)

  • Никаких изменений для платформы Android.

  • Выполнение теста быстрое.

  • Контрольные примеры являются более надежными благодаря привязке во время выполнения к компонентам графического интерфейса.

  • Плавно интегрируется с Maven или Ant.

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

Вы можете разработать мощные контрольные примеры с минимальными знаниями о тестируемом приложении.

Каркас обрабатывает несколько действий Android автоматически. Читаемость тестовых случаев значительно улучшена по сравнению со стандартными инструментальными тестами.

Автоматическая синхронизация и задержки.

Автоматически следует за текущей деятельностью.

Автоматически находит виды.

Автоматически принимает свои собственные решения (например, когда прокручивать и т. Д.)

Никаких изменений для платформы Android.

Выполнение теста быстрое.

Контрольные примеры являются более надежными благодаря привязке во время выполнения к компонентам графического интерфейса.

Плавно интегрируется с Maven или Ant.

Недостатки Robotium

  • Robotium не может обрабатывать Flash или веб-компоненты.

  • Он обрабатывает только одно приложение за один раз.

  • Он не может имитировать нажатие на программную клавиатуру с помощью Robotium (необходимо ввести ‘enterText ()’ для ввода текста в поле EditText)

  • Robotium не может взаимодействовать с уведомлениями в строке состояния, т. Е. Раскрыть область уведомлений и щелкнуть указанное уведомление.

  • Может быть немного медленным, особенно на старых устройствах.

Robotium не может обрабатывать Flash или веб-компоненты.

Он обрабатывает только одно приложение за один раз.

Он не может имитировать нажатие на программную клавиатуру с помощью Robotium (необходимо ввести ‘enterText ()’ для ввода текста в поле EditText)

Robotium не может взаимодействовать с уведомлениями в строке состояния, т. Е. Раскрыть область уведомлений и щелкнуть указанное уведомление.

Может быть немного медленным, особенно на старых устройствах.

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

Шаг 1 — Необходимыми условиями использования Robotium является Java SDK (минимум 1.6). Если в вашей системе не установлена ​​Java, выполните следующие действия.

  • Загрузите JDK и JRE из Oracle Technology Network

  • Принять лицензионное соглашение.

  • Установите JDK и JRE.

  • Установите переменную среды, как показано на скриншоте ниже.

Загрузите JDK и JRE из Oracle Technology Network

Принять лицензионное соглашение.

Установите JDK и JRE.

Установите переменную среды, как показано на скриншоте ниже.

Переменная среды

Шаг 2 — Загрузите Android Studio из Android Studio

  • Дважды щелкните по exe и запустите установщик.
  • Продолжить со всеми параметрами по умолчанию.
  • Установите ANDROID_HOME.

Шаг 3 — Установите образы и инструменты Android.

  • Нажмите на SDK Manager —

SDK Manager

  • Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

    • Android SDK Tools rev 22.6.3
    • Платформа Android-инструменты ред 19.0.1
    • Android SDK Build-tools, версия 19.1

Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что следующие пакеты отмечены в разделе Инструменты —

Шаг 4 — Создание виртуальных устройств Android.

  • Откройте Android Studio и нажмите AVD Manager на панели инструментов. AVD позволяют нам тестировать и запускать наши приложения для Android.

AVD Manager

  • Используйте следующие настройки для Nexus5 AVD —

    • Устройство — Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Цель — API Google x86 (Google Inc.) — Уровень API 19
    • (Убедитесь, что вы выбрали цель с Google API в названии.)
    • Процессор — Intel Atom (x86)
    • Установите флажок для использования Host GPU
    • Нажмите ОК
  • Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Используйте следующие настройки для Nexus5 AVD —

Теперь вы должны увидеть AVD, который вы создали в AVD Manager, где вы можете запустить его, удалить или создать еще один!

Шаг 5 — Файл Robotium Jar Загрузите файл Robotium Jar из RobotiumTech

Протестируйте приложение с Robotium

Чтобы протестировать приложение с Robotium, выполните следующие действия:

Шаг 1 — Создайте тестовый проект в Android Studio с именем «RobotiumTest».

Robotium Test

Выберите все параметры по умолчанию, пока не дойдете до главной страницы.

Шаг 2 — Скопируйте файл jar Robotium в папку Lib проекта.

Робот Jar Файлы

Шаг 3 — Добавьте зависимость в файл build.gradle в папке src .

androidTestCompile ‘com.jayway.android.robotium: robotium-solo-5.5.3’

Шаг 4 — Синхронизируйте Gradle.

Синхронизируйте Gradle

Шаг 5 — Создайте класс Test следующим образом —

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Шаг 6 — Сохраните все изменения. Убедитесь, что ошибок нет.

Шаг 7 — Теперь запустите тестовый пример. Если тест пройден успешно, вы должны увидеть следующий результат!