Учебники

10) Учебное пособие по Robotium

Что такое Robotium?

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

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

Robotium для тестирования

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

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

Robotium Framework — лучший выбор для тестирования приложений под Android.

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

Полное руководство по тестированию и автоматизации Android

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

Классы тестирования Robotium

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

Полное руководство по тестированию и автоматизации Android

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

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

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

Чтобы использовать Robotium в своем тестовом проекте Android, вам нужно выполнить следующие шаги

Полное руководство по тестированию и автоматизации Android

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

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

Ваш первый тест с Android Testing Framework

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

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

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

ШАГ 2) Написать программу TEST

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

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

Ваш первый тест с Android Testing Framework

Приложение HelloAndroid

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

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

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

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

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

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

Ваш первый тест с Android Testing Framework

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

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

Ваш первый тест с Android Testing Framework

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

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

Ваш первый тест с Android Testing Framework

Выберите целевое приложение для тестирования

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

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

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

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

Ваш первый тест с Android Testing Framework

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

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);
    }

	

}

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

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

Ваш первый тест с Android Testing Framework

Примеры методов платформы Robotium и Android Testing

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

ШАГ 3) Выполнить тест

После того, как вы закончите писать свою тестовую программу, запустите тест, выполнив следующие шаги

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

Ваш первый тест с Android Testing Framework

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

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

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

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

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

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

Ваш первый тест с Android Testing Framework

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

Если тестовый случай не пройден, выводится на экран и показывает, какие тестовые примеры не пройдены

Ваш первый тест с Android Testing Framework

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

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

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

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