Мобильное тестирование - Robotium Framework
Robotium - это тестовая среда с открытым исходным кодом для написания автоматических сценариев тестирования серого ящика для приложений Android. При поддержке Robotium разработчики тестовых примеров могут писать сценарии функционального, системного и приемочного тестирования, охватывающие несколько операций Android.
Robotium можно использовать как для тестирования приложений, где доступен исходный код, так и приложений, где доступен только файл APK.
Преимущества Robotium
Легко писать, код короче. Минимальное время, необходимое для написания надежных тестовых примеров.
Вы можете разрабатывать мощные тестовые примеры с минимальными знаниями тестируемого приложения.
Платформа автоматически обрабатывает несколько действий Android. Читаемость тестовых примеров значительно улучшена по сравнению со стандартными инструментальными тестами.
Автоматический выбор времени и задержек.
Автоматически следует за текущим действием.
Автоматически находит просмотры.
Автоматически принимает собственные решения (например, когда прокручивать и т. Д.)
Никаких модификаций платформы Android.
Выполнение теста быстрое.
Тестовые случаи более надежны из-за привязки времени выполнения к компонентам графического интерфейса.
Плавно интегрируется с Maven или Ant.
Недостатки Robotium
Robotium не может обрабатывать Flash или веб-компоненты.
Он обрабатывает только одно приложение за раз.
Он не может имитировать нажатие на программную клавиатуру с помощью Robotium (необходимо использовать enterText () для ввода текста в поле EditText)
Robotium не может взаимодействовать с уведомлениями строки состояния, то есть разверните область уведомлений и щелкните указанное уведомление.
Может быть немного медленным, особенно на старых устройствах.
Как использовать Robotium
Step 1- Предварительные условия для использования Robotium - Java SDK (минимум 1.6). Если в вашей системе не установлена Java, выполните действия, указанные ниже.
Загрузите JDK и JRE из Oracle Technology Network
Принять лицензионное соглашение.
Установите JDK и JRE.
Установите переменную среды, как показано на скриншоте ниже.
Step 2- Загрузите Android Studio из Android Studio
- Дважды щелкните exe и запустите установщик.
- Продолжайте со всеми параметрами по умолчанию.
- Установите ANDROID_HOME.
Step 3 - Установите образы и инструменты Android.
- Нажмите на SDK Manager -
Выберите необходимый пакет. Например, если мы создаем приложение для Android 4.4.2, убедитесь, что в разделе «Инструменты» отмечены следующие пакеты:
- Инструменты Android SDK версии 22.6.3
- Инструменты платформы Android версии 19.0.1
- Инструменты сборки Android SDK версии 19.1
Step 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)
- Установите флажок Use Host GPU.
- Нажмите ОК
Теперь вы должны увидеть созданный вами AVD в AVD Manager, где вы можете запустить его, удалить или создать еще один!
Step 5- Файл Robotium Jar Загрузите файл Robotium Jar с RobotiumTech
Протестируйте приложение с помощью Robotium
Чтобы протестировать приложение с Robotium, выполните следующие действия:
Step 1 - Создайте тестовый проект в Android Studio под названием «RobotiumTest».
Выбирайте все параметры по умолчанию, пока не дойдете до главной страницы.
Step 2 - Скопируйте файл Robotium jar в папку Lib проекта.
Step 3 - Добавьте зависимость в файл build.gradle под src папка.
androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'
Step 4 - Синхронизировать Gradle.
Step 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();
}
}
Step 6- Сохраните все изменения. Убедитесь, что ошибок нет.
Step 7- А теперь запустим тестовый пример. Если тестовый пример прошел успешно, вы должны увидеть следующий результат!