Robotium Урок: Вашият първи Android Рамка

Каква е Robotium?

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

Robotium рамка за тестване

Standard Android рамката за тестване има някои ограничения, както е показано по-долу

  • Не може да се справи с множество дейности
  • Изпълнението на теста е бавно
  • Тестовите случаи са сложни и трудни за изпълнение

Robotiumрамка е по-добрият избор за провеждане на тестове Android прилагане

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

Разширени функции на Robotium
Разширени характеристики на Robotium

Robotium Класове за тестови случаи

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

Robotium Класове за тестови случаи
Integration Robotium и ТестовКасе2 за Инструментиране на Активност

Тестерът може да пише тестови случаи без познания за дизайна на приложението (тестване на черна кутия), като използва Robotium класове тестови случаи. Това е изключителна функция в сравнение с Android тестови класове.

Начин на употреба Robotium

да използвам Robotium в Android тестов проект, трябва да следвате стъпките по-долу

употреба Robotium

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

  1. Спецификация за изпитване на дизайна
  2. Разработете тестова програма
  3. Изпълнение Тестов случай на целево устройство
  4. Съберете резултата от теста
Android прилагане
Android Процедура за тестване на приложението Тестване процедура

СТЪПКА 1) Спецификация на теста за проектиране

  • Това е първата стъпка за тестване на вашето приложение. В тази стъпка дефинирате целта, която да бъде тествана. Във вашия Android приложение, има много цели, които трябва да бъдат тествани, като потребителски интерфейс, активност, компоненти, услуги. Ясното дефиниране на целта във вашето приложение ще ви помогне да постигнете широко покритие на теста.
  • Планирайте видовете тестове, които трябва да бъдат проведени (единичен тест, функционален тест, системен тест).
  • Проектирайте тестови случаи за максимално покритие, но минимизирайте броя на тестовите случаи. Колкото повече код се тества, толкова повече са шансовете за ранно откриване на грешки.

СТЪПКА 2) Напишете TEST програма

Този раздел ви насочва как да напишете Android използване на тестова програма Android Джунит Тествайте и RobotiumДа предположим, че вече сте разработили Android Име на програмата ЗдравейтеAndroid. Тази програма има някои функции, описани по-долу:

  • Показване на текст „Здравей свят!“ на екрана.
  • Показване на съобщение Здравей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Тест"

Добавете име на тестов проект въз основа на конвенцията за именуване
Добавете име на тестов проект въз основа на конвенцията за именуване

Изберете целево приложение, което се тества. В този случай това е ЗдравейAndroid щракнете върху Готово

Изберете 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
  • За да тествате определена дейност, т.е. ЗдравейтеAndroid, създайте степен на тестов случай ActivityInstrumentationTestCase2Android>
  • В този клас тестерът може да получи тестова активност чрез метода getActivity().
  • Можете свободно да създавате тест за тестова дейност чрез създаване на метод с име „тест + оригинално име на метод“
  • В тестовия метод, тестерът може да използва Android JUnit функция за сравняване на действителната и очакваната стойност. Тези методи са показани по-долу.
Примерни методи на Robotium намлява Android Рамка за тестване
Примерни методи за Robotium намлява Android Рамка за тестване

Тези тестови пакети по-горе потвърдиха, че GUI на приложението трябва да показва текст „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 Всички тестови случаи са преминали
Резултат от теста, в случай че всички тестови случаи са преминали

В случай че тестовият случай е неуспешен, изходът се показва и ви показва кои тестови случаи са неуспешни

Резултат от теста в Case Всички тестови случаи са неуспешни
Резултат от теста в случай, че всички тестови случаи са неуспешни

Примери за изходен код

Тази статия включва някои източници Code примери, които ви помагат да разберете по-ясно урока и бързо да наваксате техническите знания

Обобщете тази публикация с: