Какво представлява роботиумът?
Robotium е андроид тестова рамка за автоматизиране на тестови случаи за местни и хибридни приложения. Използвайки Robotium, разработчикът може да създаде силен случай за автоматично тестване на GUI за приложения за Android. В допълнение, разработчикът може да напише функционален, системен и тестов сценарий за приемане, разпространявайки много дейности на Android.
В този урок ще научите -
- Рамка за тестване на роботиум
- Как да използвате Robotium
- СТЪПКА 1) Спецификация на теста за проектиране
- СТЪПКА 2) Напишете програма TEST
- СТЪПКА 3) Изпълнете тест
- СТЪПКА 4) Вземете резултата от теста
Рамка за тестване на роботиум
Стандартната рамка за тестване на Android има някои ограничения, както по-долу
- Не може да се справи с множество дейности
- Изпълнението на тестовото изпълнение е бавно
- Тестовите случаи са сложни и трудни за изпълнение
Robotium framework е по-добрият избор за провеждане на тестване на Android приложение
Robotium е рамка с отворен код и се счита за продължение на тестовата рамка на Android. Използвайки Robotium, разработчикът може да създаде стабилни автоматични тестови случаи на GUI за приложения за Android. Освен това разработчикът може да пише функционални, системни и тестови сценарии за приемане, обхващащи множество дейности на Android.
Предварителни функции на Robotium
Класове за тестове за роботиум
Robotium използва набор от класове ( com.jayway.android.robotium.solo ) за тестване . Този клас поддържа тестови случаи, които обхващат множество дейности. Solo е интегриран с ActivityInstrumentationTestCase2.
Интеграционен роботиум и ActivityInstrumentationTestCase2
Тестерът може да пише тестови казуси без познаване на дизайна на приложенията (тестване на черна кутия), като използва класове тестови казуси на роботиум. Това е изключителна функция в сравнение с класовете тестови случаи на Android.
Как да използвате Robotium
За да използвате Robotium във вашия тестов проект за Android, трябва да изпълните стъпките по-долуИзползване на Robotium за провеждане на тестване на приложение за Android. За да гарантирате качеството на вашето приложение за Android, трябва да следвате процедурата по-долу
- Спецификация на теста за проектиране
- Разработване на тестова програма
- Изпълнете тестовия случай на целевото устройство
- Съберете резултата от теста
Процедура за тестване на приложение за Android
СТЪПКА 1) Спецификация на теста за проектиране
- Това е първата стъпка за тестване на вашето приложение. В тази стъпка вие определяте целта, която да бъде тест. Във вашето приложение за Android има много цели, които трябва да бъдат тествани, като потребителски интерфейс, активност, компоненти, услуги. Ясното дефиниране на целта във вашето приложение ще ви помогне да постигнете широко покритие на теста.
- Планирайте да се провеждат типовете тестове (единичен тест, функционален тест, системен тест).
- Проектирайте тестови случаи за максимално покритие, но минимизирайте броя на тестовите случаи. Колкото повече код се тества, толкова повече са шансовете за ранно откриване на грешки.
СТЪПКА 2) Напишете програма TEST
Този раздел ви насочва как да напишете тестова програма за Android с помощта на Android Junit Test и Robotium. Да предположим, че вече сте разработили име на програма за Android HelloAndroid. Тази програма има някои функции, описани по-долу:
- Показване на текст "Здравей, свят!" на екрана.
- Покажете съобщение HelloAndroid, когато потребителят натисне бутона "Старт"
Приложение HelloAndroid
Системни изисквания
- Платформата за Android се предлага с предварително интегрирана рамка JUnit 3.0.
- За да създадете Android Test Project от Eclipse, компютърът ви трябва да е инсталирал:
- Най-новата версия Android Platform (в момента Android 8.1)
Можете да изтеглите Eclipse IDE с вграден ADT (Android Developer Tools). Включва основните Android SDK компоненти и версия на Eclipse IDE.
За рамката за тестване на Robotium трябва да свалите библиотеката на Robotium от уеб страницата на Robotium.
Създайте Android Test Project
- Щракнете върху Файл -> Ново -> Друго
- Изберете: Android -> Android Test Project, както е показано на фигурата по-долу -> Изберете Напред
Създайте нов тестов проект за Android
Напишете името на вашия тестов проект. Като конвенция за именуване, вашият тестов проект трябва да носи името "HelloAndroidTest"
Добавете база от имена на тестов проект към конвенцията за именуване
Изберете целевото приложение, което се тества. В този случай това е HelloAndroid, щракнете върху Finish
Изберете целевото приложение, което се тества
Създайте тестови пакети
Въз основа на вашата спецификация на теста, вие започнахте да създавате тестови пакети за вашата тестова програма. Можете да изберете различни рамки за тестване. В този урок избирам стандартна рамка за тестване на Android ActivityInstrumentationTestCase2 . Трябва да добавите файл с библиотека на Robotium към директория libs в папката на вашия проект, в случай че искате да тествате с Robotium framework. (Вие създавате папка lib във вашата папка на проекта).
Тестовият случай определя устройството за провеждане на множество тестове. За да определите тестов случай, трябва да следвате програмната структура по-долу:
- Внедрете подклас от
TestCase
. - Дефинирайте променливи на екземпляра, които съхраняват състоянието на приспособлението
- Инициализирайте състоянието на приспособлението, като замените setUp ()
- Почистване след тест чрез заместване на tearDown ().
Структура на тестовата програма
пакет com.example.helloandroid.test;импортиране com.example.helloandroid.HelloAndroid;внос com.jayway.android.robotium.solo.Solo;импортиране на android.test.ActivityInstrumentationTestCase2;импортиране на android.widget.TextView;публичен клас HelloAndroidTest разширява ActivityInstrumentationTestCase2{частна HelloAndroid mActivity;частен TextView mView;private String resourceString;частно Соло соло;публичен HelloAndroidTest () {// TODO Автоматично генериран заглушител на конструкторсупер ("com.example.helloandroid", HelloAndroid.class);}@Overrideprotected void setUp () хвърля изключение {// TODO Автоматично генериран мъниче от метод// 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);}@Overrideprotected void tearDown () хвърля изключение {// TODO Автоматично генериран мъниче от метод//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * тест Целевото приложение съдържа текстов дисплей „Hello World!“ * /public void testSearchText () {assertEquals (resourceString, (String) mView.getText ());}/ * тест HelloAndroid Activity в целевото приложение съществува * /public void testCurrentActivity () хвърля изключение {solo.assertCurrentActivity ("грешна активност", HelloAndroid.class);}/ * тестов потребителски интерфейс на приложението съдържа бутон "Старт" * // * изпрати бутон за щракване на събитие към целевото приложение * /public void testSearchButton () хвърля изключение {boolean намерено = solo.searchButton ("Старт");solo.clickOnButton ("Старт");assertTrue (намерен);}}
Добавяне на тестови случаи
- В същия пакет с TestSuite създаваме класове TestCase
- За да тествате определена активност, т.е.
- В този клас тестерът може да получи тестова дейност чрез метода getActivity ().
- Можете свободно да създадете тест за тестова дейност, като създадете метод с име "тест + оригинално име на метод"
- В тестовия метод тестерът може да използва функцията Android JUnit за сравняване на действителната и очакваната стойност. Тези методи са показани по-долу.
Примерни методи на Robotium и Android Testing framework
Тези тестови пакети по-горе потвърдиха, че GUI на приложението трябва да показва текст „Hello World!“ И съдържа име на бутон „Старт“.
СТЪПКА 3) Изпълнете тест
След като приключите с писането на вашата тестова програма, стартирайте теста, като използвате стъпките по-долу
- Свържете Android устройство към вашия компютър (или стартирайте Emulator, в случай че нямате реално устройство).
- Във вашата IDE щракнете с десния бутон върху „Стартиране като андроид единичен тест“
Изпълняваща се тестова програма
Освен провеждане на тест на IDE, можете да изпълните тест на команден ред. В тази тестова програма тестовият пакет е com.example.helloandroid.test. В терминала на Linux можете да използвате следната команда, за да стартирате всички тестове в този пакет:
$ adb shell am instrument -w -e пакет com.example.helloandroid.test
СТЪПКА 4) Вземете резултата от теста
След изпълнението на теста получавате резултати от теста.
В тази тестова програма се изпълняват 4 тестови метода. В този случай се преминават всички тестови случаи.
Резултат от теста в случай, че всички тестови случаи са преминали
В случай че тестът се провали, изходът се показва и ви показва кои тестови случаи са неуспешни
Извеждане на резултата от теста, в случай че всички тестови случаи се провалят
Примери за изходен код
Тези статии включват някои примери за изходен код, които ви помагат да разберете по-ясно урока и бързо да разберете техническите познания
- HelloAndroid: Тествано приложение.
- HelloAndroidTest: Тестова програма, използваща Android Test framework