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 —
-
Выберите необходимый пакет. Например, если мы создаем приложение для 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.
-
Используйте следующие настройки для 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».
Выберите все параметры по умолчанию, пока не дойдете до главной страницы.
Шаг 2 — Скопируйте файл jar Robotium в папку Lib проекта.
Шаг 3 — Добавьте зависимость в файл build.gradle в папке src .
androidTestCompile ‘com.jayway.android.robotium: robotium-solo-5.5.3’
Шаг 4 — Синхронизируйте 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 — Теперь запустите тестовый пример. Если тест пройден успешно, вы должны увидеть следующий результат!