Підручник Robotium: ваш перший Android Рамки
Що таке Robotium?
Robotium — це платформа тестування Android для автоматизації тестових випадків для нативних і гібридних програм. Використовуючи Robotium, розробник може створити сильний автоматичний тестовий приклад графічного інтерфейсу для Android програми. Крім того, розробник може написати сценарій функціонального, системного та приймального тестування, поширюючи багато Android діяльності.
Платформа тестування Robotium
стандарт Android структура тестування має деякі обмеження, наведені нижче
- Неможливо впоратися з кількома видами діяльності
- Продуктивність виконання тесту повільна
- Тестові випадки складні та їх важко реалізувати
Роботіумрамки є кращим вибором для проведення тестування Android додатку
Robotium є фреймворком з відкритим кодом і вважається його розширенням Android тестова основа. Використовуючи Robotium, розробник може створювати надійні автоматичні тестові випадки GUI для Android програми. Крім того, розробник може писати сценарії функціональних, системних і приймальних тестів, які охоплюють кілька Android діяльності.
Класи тестових випадків Robotium
Robotium використовує набір класів (com.jayway.android.robotium.solo) для тестування. Цей клас підтримує тестові випадки, які охоплюють кілька дій. Solo інтегровано з ActivityInstrumentationTestCase2.
Тестер може писати тестові приклади без знання дизайну програми (тестування чорного ящика), використовуючи класи тестових випадків Robotium. Це видатна особливість порівняно з Android тестові класи.
Як користуватися Robotium
Щоб використовувати Robotium у своєму Android тестовий проект, потрібно виконати наведені нижче дії
Використання Robotium для проведення тестування Android додаток. Щоб гарантувати якість вашого Android додатка, вам слід виконати наведену нижче процедуру
- Специфікація випробування дизайну
- Розробити тестову програму
- Виконати Тестовий випадок на цільовому пристрої
- Зберіть результат тесту
КРОК 1) Специфікація тесту дизайну
- Це перший крок для тестування вашої програми. На цьому кроці ви визначаєте ціль для тестування. У вашому Android програми, є багато цілей, які потрібно протестувати, наприклад інтерфейс користувача, діяльність, компоненти, служби. Чітке визначення мети у вашій заявці допоможе досягти широкого охоплення тестуванням.
- Сплануйте типи тестів, які слід проводити (модульний тест, функціональний тест, системний тест).
- Створюйте тестові випадки для максимального охоплення, але мінімізуйте кількість тестових випадків. Чим більше коду тестується, тим більше шансів на раннє виявлення помилок.
КРОК 2) Напишіть програму TEST
Цей розділ допоможе вам написати Android використання тестової програми Android Юніт Тест і Robotium. Припустімо, що ви вже розробили Android назва програми ПривітAndroid. Ця програма має деякі функції, описані нижче:
- Відобразити текст «Hello world!» на екрані.
- Показати повідомлення Привіт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 Перевірте проект згідно з малюнком нижче -> Виберіть «Далі».
Напишіть назву вашого тестового проекту. Відповідно до умов імен ваш тестовий проект повинен мати назву «HelloAndroidТест”
Виберіть цільову програму під час тестування. У цьому випадку це HelloAndroid натисніть Готово
Створіть пакети тестів
На основі вашої тестової специфікації ви почали створювати набори тестів для своєї тестової програми. Ви можете вибрати різні рамки тестування. У цьому посібнику я вибираю стандартний 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 функція для порівняння фактичного та очікуваного значення. Ці методи показані нижче.
Ці набори тестів вище підтвердили, що графічний інтерфейс програми повинен відображати текст «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 методи тестування. У цьому випадку всі тестові випадки пройдено.
У випадку, якщо тестовий приклад не вдасться, результат буде відображено та покаже, які тестові випадки не вдалися
Приклади вихідного коду
Ці статті містять кілька прикладів вихідного коду, які допоможуть вам чіткіше зрозуміти підручник і швидко надолужити технічні знання
- ПривітAndroid: Програма тестується .
- ПривітAndroidТест: Використовувати тестову програму Android Тестовий каркас