Підручник Robotium: ваш перший Android Рамки

Що таке Robotium?

Robotium — це платформа тестування Android для автоматизації тестових випадків для нативних і гібридних програм. Використовуючи Robotium, розробник може створити сильний автоматичний тестовий приклад графічного інтерфейсу для Android програми. Крім того, розробник може написати сценарій функціонального, системного та приймального тестування, поширюючи багато Android діяльності.

Платформа тестування Robotium

стандарт Android структура тестування має деякі обмеження, наведені нижче

  • Неможливо впоратися з кількома видами діяльності
  • Продуктивність виконання тесту повільна
  • Тестові випадки складні та їх важко реалізувати

Роботіумрамки є кращим вибором для проведення тестування Android додатку

Robotium є фреймворком з відкритим кодом і вважається його розширенням Android тестова основа. Використовуючи Robotium, розробник може створювати надійні автоматичні тестові випадки GUI для Android програми. Крім того, розробник може писати сценарії функціональних, системних і приймальних тестів, які охоплюють кілька Android діяльності.

Розширені функції Robotium
Розширені можливості Robotium

Класи тестових випадків Robotium

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

Класи тестових випадків Robotium
Інтеграція Robotium і ActivityInstrumentationTestCase2

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

Як користуватися Robotium

Щоб використовувати Robotium у своєму Android тестовий проект, потрібно виконати наведені нижче дії

Використовуйте Robotium

Використання Robotium для проведення тестування Android додаток. Щоб гарантувати якість вашого Android додатка, вам слід виконати наведену нижче процедуру

  1. Специфікація випробування дизайну
  2. Розробити тестову програму
  3. Виконати Тестовий випадок на цільовому пристрої
  4. Зберіть результат тесту
Android додатку
Android Процедура тестування програми Тестування процедура

КРОК 1) Специфікація тесту дизайну

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

КРОК 2) Напишіть програму TEST

Цей розділ допоможе вам написати Android використання тестової програми Android Юніт Тест і Robotium. Припустімо, що ви вже розробили Android назва програми ПривітAndroid. Ця програма має деякі функції, описані нижче:

  • Відобразити текст «Hello world!» на екрані.
  • Показати повідомлення ПривітAndroid коли користувач натискає кнопку «Пуск».
ПривітAndroid додаток
ПривітAndroid додаток

Системні вимоги

  • Android платформа поставляється з попередньо інтегрованою JUnit фреймворк 3.0.
  • Для того, щоб творити Android Тестовий проект від Eclipse, на вашому комп’ютері має бути встановлено:
  • Остання версія Android Платформа (на даний момент Android 8.1)

Ти можеш скачати Eclipse IDE із вбудованим ADT (Android Інструменти розробника). Воно включає найнеобхідніше Android Компоненти SDK і версія Eclipse IDE.

Для інфраструктури тестування Robotium вам потрібно видалити бібліотеку Robotium з Веб-сторінка Robotium.

Створювати Android Тестовий проект

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

Напишіть назву вашого тестового проекту. Відповідно до умов імен ваш тестовий проект повинен мати назву «HelloAndroidТест”

Додайте базу назви тестового проекту на основі умов іменування
Додайте назву тестового проекту на основі угоди про іменування

Виберіть цільову програму під час тестування. У цьому випадку це HelloAndroid натисніть Готово

Обирай Target Тестується програма
Виберіть цільову програму під час тестування

Створіть пакети тестів

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

Тестовий приклад визначає фікстуру для виконання кількох тестів. Щоб визначити тестовий приклад, ви повинні дотримуватися наведеної нижче структури програми:

  • Реалізувати підклас TestCase.
  • Визначте змінні екземпляра, які зберігають стан приладу
  • Ініціалізація стану приладу шляхом перевизначення setUp()
  • Очищення після тесту шляхом перевизначення tearDown().
Структура тестової програми
Структура тестової програми
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, створити екстент тестового випадку ActivityInstrumentationTestCase2Android>
  • У цьому класі тестувальник може отримати тестову активність за допомогою методу getActivity().
  • Ви можете вільно створювати тест для тестування, створивши метод із назвою «test + оригінальна назва методу»
  • У тестовому методі тестер може використовувати Android JUnit функція для порівняння фактичного та очікуваного значення. Ці методи показані нижче.
Приклади методів Robotium і Android Тестування Framework
Приклади методів Robotium і Android Структура тестування

Ці набори тестів вище підтвердили, що графічний інтерфейс програми повинен відображати текст «Hello World!» і містити назву кнопки «Пуск».

КРОК 3) Запустіть тест

Після того, як ви закінчите писати тестову програму, запустіть тест, виконавши наведені нижче дії

  • Спілкування Android пристрій до ПК (або запустіть емулятор, якщо у вас немає справжнього пристрою).
  • У вашій IDE клацніть правою кнопкою миші àRun asàAndroid Тестовий блок
Запуск тестової програми
Запуск тестової програми

Окрім запуску тесту в IDE, ви можете запустити тест у командному рядку. У цій тестовій програмі тестовим пакетом є com.example.helloandroid.test. в Linux термінал, ви можете використовувати таку команду, щоб запустити всі тести в цьому пакеті:

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

КРОК 4) Отримайте результат тесту

Після виконання тесту ви отримуєте результати тесту.

У цій тестовій програмі виконується 4 методи тестування. У цьому випадку всі тестові випадки пройдено.

Виведення результатів тесту в Case. Усі тестові випадки пройдено
Виведення результатів тесту, якщо всі тести пройдено

У випадку, якщо тестовий приклад не вдасться, результат буде відображено та покаже, які тестові випадки не вдалися

Виведення результату тесту у випадку, коли всі тестові випадки не пройшли
Виведення результатів тесту у випадку, якщо всі тести не вдалися

Приклади вихідного коду

Ці статті містять кілька прикладів вихідного коду, які допоможуть вам чіткіше зрозуміти підручник і швидко надолужити технічні знання