Selendroid Підручник для початківців із прикладом
Ви коли-небудь розробляли Android заявку та опублікувати її в Google Грати? Що ви зробите, якщо отримаєте відгук користувача, як-от…
Коли ви публікуєте додаток для Google Play, його потрібно ретельно протестувати, щоб уникнути потенційних помилок. Існує безліч тестових сценаріїв, які слід виконати перед публікацією програми. Щоб зберегти Тестування зусиль, вам потрібен інструмент тестування. Один із найкращих інструментів тестування для Android додаток є Selendroid.
Що таке Selendroid?
Selendroid це платформа автоматизації тестування для різних типів мобільних додатків: рідний та гібрид Android додаток і мобільний веб.
Ви можете писати тести за допомогою Selenium 2 API клієнта. Оскільки Selendroid все ще повторне використання існуючого Selenium інфраструктура для Інтернету
Selendroid є потужним інструментом тестування. Його можна використовувати на емулятори і справжнє Пристрої
Навіщо нам Selendroid?
Selendroid є чудовим інструментом тестування. Але ви можете сумніватися в його корисності.
У цьому розділі будуть представлені важливі функції Selendroid відповісти на питання, навіщо вам потрібно Selendroid.
- Ви можете перевірити тестову програму за допомогою Selendroid без будь-яких змін програми. Вам просто потрібен двійковий файл (АПК), встановлений на комп’ютері. Щоб інсталювати двійковий файл на пристрої, тестова та мобільна програми мають бути підписані однаковим ключем підпису
- Selendroid Тестовий додаток може взаємодіяти з кількома пристроями або симуляторами одночасно. Це велика перевага Selendroid. Таким чином, ви можете протестувати свою програму з різними Android пристрої для перевірки сумісності.
- Selendroid може імітувати дії користувача в додатку, як-от дотик, проведення пальцем, перетягування на пристроях
- Ви можете змінювати апаратні пристрої (підключати та відключати) під час тестування без перезавантаження або зупинкиping тест. Selendroid автоматично розпізнає нові пристрої
- Відповідний до Android Оновлена версія API, Selendroid також підтримує нове Android API (від API 10 до API 19)
- Selendroid також має вбудований інструмент інспектора, який допоможе вам визначити елемент інтерфейсу користувача програми, що тестується. Наприклад, кнопка ID, текстове поле, перегляд тексту…
Selendroid Archiтектура
Selendroid заснована на Android інструментальна основа. Selendroid контрольні роботи написані на основі Selenium API клієнта веб-драйвера, тому він підтримує повну інтеграцію з поточним Selenium рамки.
Наступний малюнок описує архітектуру Selendroid
Selendroid містить 4 основних компоненти:
- Клієнт веб-драйвера – The Java клієнтська бібліотека на основі Selenium. Ця бібліотека повинна бути встановлена на комп’ютері (який використовується для розробки тестів)
- Selendroid-Сервер – сервер, який працює в тестовій програмі Android пристрій або тренажер. Це основні компоненти a Selendroid архітектура
- Android Driver-App – вбудований Android драйвер, програма Web View для тестування мобільного Інтернету.
- Selendroid-Standalone – цей компонент використовується для встановлення Selendroid сервер і тестова програма (AUT)
Початок роботи з Selendroid
Ви вже зрозуміли важливість Selendroid. А тепер давайте забруднимо руки Selendroid.
Перед першим тестом необхідно виконати 3 кроки Selendroid
Налаштування a Selendroid навколишнє середовище
Selendroid може працювати на Window, Linux і Mac OS. У цьому підручнику ми налаштуємо Selendroid в ОС Windows.
Перед використанням Selendroid, спочатку потрібно встановити наступний пакет
- Java SDK (мінімум 1.6)
Ви повинні прийняти ліцензійну угоду та завантажити програму встановлення Java (виберіть базу x64 або x86 у вашій ОС)
Завантажте та встановіть Java SDK як звичайне програмне забезпечення
- Остання версія Android SDK
- На вашому комп’ютері має бути принаймні один Android Віртуальний пристрій (AVD), або реальний Android пристрій, підключений до ПК.
- Selendroid Автономний із залежностями, Selendroid Клієнт та Selenium Клієнт
- Eclipse програмне забезпечення
- Налаштуйте JAVA_HOME та ANDROID_HOME
Крок 1) У вікні клацніть правою кнопкою миші Комп’ютер -> властивості -> Розширені налаштування системи
Крок 2) Відображення вікна «Властивості системи», виберіть вкладку «Додатково». -> Змінні оточення
Крок 3) У вікні середовища натисніть «Створити». -> Введіть змінну ANDROID_HOME наступним чином
Значення змінної — це шлях до android-sdks, який ви вже встановили.
Знайдіть системну змінну Path -> Редагувати -> Додайте наступний рядок після поточного рядка
Подібно до ANDROID_HOME, додайте нову змінну JAVA_HOME зі значенням, наведеним нижче
Цінність - Шлях до свого Java Встановлення JDK
Крок 4) Перезавантажте ПК -> Зроблений
Як запустити Selendroid
Крок 1) Передача програми на тестування
Можна використовувати існуючі Selendroid тестуйте додаток, щоб перевірити, як це зробити Selendroid працює (посилання до зразка програми, що тестується)
Після завершення завантаження скопіюйте цей файл APK і наведений вище файл Selendroid Автономна банка файл у папку з назвою «Guru99 "
Крок 2) Запустіть Selendroid
Відкрийте термінал на Windows & перейдіть до папки Guru99 створено на кроці 1.
Виконайте наступну команду
Вихід відобразиться наступним чином
Після виконання цієї команди Selendroid-автономний сервер HTTP запускається! Стандартний номер порту цього сервера – 4444. Усі апаратні пристрої, а також Android Віртуальний пристрій буде скановано та розпізнано автоматично. Selendroid визначить Android цільова версія та розмір екрана пристрою.
Щоб перевірити Android цільову версію, а також інформацію про пристрій, ви можете запустити наступне URL у браузері: http://localhost:4444/wd/hub/status.
Selendroid основна команда
У цьому розділі представлені деякі основні Selendroid-Окремий командний рядок. Ви можете використовувати їх для налаштування Selendroid середовище тестування
- Налаштування порту Selendroid
Стандартний порт Selendroid 4444. Але ви можете змінити порт на інший, додавши параметр до команди для запуску Selendroid
Параметр: -порт [номер порту]
Наприклад:
У наведеній вище команді 5555 є новим портом.
Так що URL перевірити Android цільову версію змінено на: http://localhost:5555/wd/hub/status
- Вкажіть розташування програми, що тестується (Binary APK file). Selendroid часто вимагається абсолютний шлях до цього файлу
Параметр: -прикл [шлях до файлу]
Наприклад:
У наведеній вище команді, Selendroid автоматично знайти базу бінарних файлів на «C:\»Guru99App.apk”, щоб отримати інформацію про тестовану програму.
Оберіть URL
http://localhost:4444/wd/hub/status, ви побачите цю інформацію - Змініть порт Selendroid використовує для зв’язку з сервером інструментів. Selendroid використовує порт 8080 як стандартний
Параметр: -selendroidServerPort [номер порту]
Приклад
Тепер порт змінено на 9000
- Змініть час очікування для запуску емуляторів. Одиниця – мілісекунди.
Параметр: -timeoutEmulatorStart
За замовчуванням Selendroid чекатиме 300,000 200,000 мілісекунд, доки не запуститься емулятор. Ви можете змінити на новий тайм-аут (XNUMX XNUMX мс) за допомогою команди
Після закінчення цього часу наш термін дії минув, якщо емулятор не може запуститися, Selendroid викличе помилку винятку (сталася помилка під час пошуку пристроїв/емуляторів.), а потім припинить роботу
- Коли ви починаєте Selendroid на терміналі, ви побачите журнал, роздрукований на екрані. Ви можете змінити тип журналу, який ви бачите, додавши наступний параметр
Параметр: -logLevel [тип журналу]
Значення рівня журналу: ПОМИЛКА, ПОПЕРЕДЖЕННЯ, ІНФОРМАЦІЯ, НАЛАШТУВАННЯ та ДЕСЛІВНЕ. Типове значення: ПОМИЛКА.
Наприклад, встановити Selendroid щоб надрукувати лише журнал ПОПЕРЕДЖЕНЬ, ви можете використати цю команду
Команда Selendroid друкуйте лише журнал ПОПЕРЕДЖЕНЬ
Почніть свій перший тест із Selendroid
Цей розділ є покроковим посібником зі створення вашого першого тестового сценарію за допомогою Selendroid
Припустимо, у нас є Android застосунок під назвою тесту Guru99App. Додаток містить текстове поле та кнопку з назвою «Показати текст».
Нам потрібно виконати наступне Тестовий випадок використання Selendroid
| Тестові випадки | стан | Очікуваний результат |
|---|---|---|
|
Двійковий файл програми, що тестується, доступний
Пристрій підключено до ПК |
Текст «Показати текст тут» змінено на текст
які користувач вводить у текстове поле |
Крок 1) Створити Java проект в Eclipse
Крок 2) Додайте селен і Selendroid файл jar у середовищах eclipse
Клацніть правою кнопкою миші Guru99Test Project -> Побудувати шлях -> Додати зовнішній Archives
Перейдіть до папки, у якій зберігаються файли jar
Необхідно додати 3 файли jar
- selendroid-клієнт-0.10.0.jar : Selendroid клієнтська бібліотека java
- selendroid-standalone-0.11.0-with-dependencies : Selendroid бібліотека автономного сервера
- selenium-java-2.40.0.jar : Selenium Бібліотека веб-драйверів
Вибрати всі -> Виберіть Відкрити, щоб додати файл jar до проекту
Крок 3) після додавання вищезазначеної бібліотеки ці бібліотеки буде додано до довідкових бібліотек тестового проекту. Тестер може використовувати API цих бібліотек для розробки тестової програми
Створіть пакет “com.guru.test” та додайте файл Java “Guru99Test.java”, як показано нижче
Клацніть правою кнопкою миші Guru99 Тест -> Нові -> пакет
Введіть com.guru.test у поле «Назва» на сторінці «Новий». Java Діалогове вікно пакета à Готово
Команда Eclipse створить папки зі списками та вкладені папки, подібні до цієї, у структурі вихідного коду
Крок 4) Встановлювати TestNG та цінності Eclipse
In Eclipse, Допомога -> Інсталюйте нове програмне забезпечення, у діалоговому вікні встановлення натисніть «Додати» та введіть наступне
- ім'я: TestNG
- Місцезнаходження: https://github.com/selendroid/selendroid
Натисніть "ОК" -> Далі, щоб встановити TestNG
Крок 5) Скопіюйте Guru99App.apk до папки Test App
Крок 6) Отримайте ідентифікатор програми, що тестується.
Припустимо, у нас є назва APK-файлу Guru99App.apk. Виконайте крок, описаний у попередньому розділі, та виконайте команду в терміналі.
Відкрийте наступне посилання в браузері: http://localhost:4444/wd/hub/status.
Відображається інформація про пристрій, скопіюйте значення appId «com.guru99app:1.0»
Крок 7) Відкрийте файл Guru99Test.java (у зразку коду) та змініть наступним чином
Щоб створити новий тестовий сеанс за допомогою Selendroid, ви повинні надати ідентифікатор програми у форматі: com.guru99app:1.0. Цей ідентифікатор програми можна ідентифікувати на кроці 6. Якщо ви не встановите ідентифікатор програми, що відповідає Android пристрою, тестовий сеанс видасть помилку та не розпочнеться.
Після ініціалізації знайденого пристрою, Selendroid створює налаштований selendroid-сервер і встановлює Selendroid сервер на ньому
Selendroid також встановлює тестову програму та запускає selendroid-сервер на пристрої
Після успішної ініціалізації тестового сеансу тестова команда починає виконуватися на пристрої. (Наприклад, введення тексту, натискання кнопки…). Якщо тест додає тестовий сеанс, емулятор автоматично зупиниться
Крок 8) Почніть новий тестовий сеанс
Запустити Selendroid сервер за допомогою такої команди на терміналі, як крок 6
Після Selendroid Сервер запущено, відкрийте зразок тестового проекту Guru99-тест на Eclipse, встановити точку зупинки на рядку 77 у файлі Guru99Test.java подвійним клацанням на рядку 77 -> З’явиться крапка, як показано нижче
Розпочніть тестовий сеанс, клацнувши правою кнопкою миші Guru99Тестовий проект -> Налагодити як -> Testng Тест.
Розпочнеться тестовий сеанс, як показано нижче
Крок 9) Отримайте ідентифікатор елемента GUI програми, що тестується
Після успішного запуску тестового сеансу відкрийте браузер, перейдіть до URL http://localhost:4444/inspector
Ви побачите, що програма, що тестується, запущена, як показано нижче
Наведіть курсор миші на кожен елемент інтерфейсу користувача AUT (кнопка, текстове поле, текстова мітка), ідентифікатор кожного елемента буде виділено на правій панелі
Після цього кроку ви можете отримати ідентифікатор кожного вищезазначеного елемента інтерфейсу користувача
- Кнопка Показати ідентифікатор тексту: “btnShow"
- Ідентифікатор текстового поля: “edtText"
- ID тексту етикетки: "txtView"
Ці ідентифікатори буде використано на наступному кроці
Крок 10) Введіть тестову програму, як показано нижче
Тестова програма з використанням Selendroid включає 3 розділи
Тест налаштування:
Нижче наведено код для перевірки налаштування, він встановить умови для тестового сеансу. У разі помилки, Selendroid викличе виняток, і тестова програма зупиниться.
Код містить коментарі для пояснення кожного твердження.
package com.guru.test;
import io.selendroid.SelendroidCapabilities;
import io.selendroid.SelendroidConfiguration;
import io.selendroid.SelendroidDriver;
import io.selendroid.SelendroidLauncher;
import io.selendroid.device.DeviceTargetPlatform;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
/**
* @author Guru99 Test App using Selendroid
* Application under test: Guru99App
*
*/
public
class Guru99Test {
//Declare web driver variable
private WebDriver driver;
/**
* Setup the environment before testing
* @throws Exception
*/
@BeforeSuite
public
void setUp() throws Exception {
//Start selendroid-standalone during test
SelendroidConfiguration config = new SelendroidConfiguration();
// Add the selendroid-test-app to the standalone server
config.addSupportedApp("Guru99App.apk");
//start the standalone server
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
// Create the selendroid capabilities
SelendroidCapabilities capa = new SelendroidCapabilities();
// Specify to use selendroid's test app
capa.setAut("com.guru99app:1.0");
// Specify to use the Android device API 19
capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
// Don't request simulator, use real device
capa.setEmulator(false);
//capa.wait(10000000);
// Create instance of Selendroid Driver
driver = new SelendroidDriver(capa);
}
Виконати тест
Нижче наведено код для виконання тесту. Код містить коментарі
Ось ще раз тестові кроки
- Введіть текст «Привіт» Guru"
- Натисніть кнопку «Показати текст».
- Зачекайте трохи
- Перевірте, чи програма відображає текст, який користувач вводить у текстове поле (наприклад, відображати текст «Привіт Guru»)
/**
* Start execute the test case
* 01. Enter the text "Selendroid" to the textfield
* 02. Press OK button
* @throws Exception
*/
@Test
public
void selendroidTest() throws Exception {
// Print the log
System.out.print("Start executing test");
// Find the input text field on screen
// The id of this text field was get from step 9
WebElement inputField = driver.findElement(By.id("edtText"));
// Verify that the text field enabled so user can enter text
Assert.assertEquals("true", inputField.getAttribute("enabled"));
// Enter a text to text field
inputField.sendKeys("Hello Guru");
// click Show Text button
// The id of this button was get from step 9
WebElement button = driver.findElement(By.id("btnShow"));
button.click();
// Delay time to take effect
Thread.sleep(5000);
//Find the label "Text Show Here" on screen
// The id of this label was get from step 9
WebElement txtView = driver.findElement(By.id("txtView"));
//Get the text display on screen
String expected = txtView.getText();
// Verify that the text which user enter on text field is same as text display on screen
Assert.assertEquals(expected, inputField.getText());
}
Завершити тест
Наступний код завершить тест зупинкоюping Selendroid водій.
/**
* Stop the Selendroid driver
*
*/
@AfterSuite
public
void tearDown() {
driver.quit();
}
Ви можете побачити деталі в прикладі коду, включеному в цю статтю.
Крок 10) Спілкування Android пристрій до ПК через USB-кабель. Пункти, на які варто звернути увагу –
- Переконайтеся, що на пристрої не налаштовано блокування екрана.
- Пристрої мають бути підключені через USB до комп’ютера, на якому працює автономний компонент selendroid.
- Пристрій має встановити принаймні Android Target Версія API 10
Крок 11) Запустіть тестовий додаток: клацніть правою кнопкою миші Guru99 тест -> Запустити як -> TestNG тест
Крок 10) Сценарій запускається наступним чином
Крок 12) Після завершення виконання тесту, TestNG автоматично генерує звіт про тестування наступним чином
Гарна робота, ви склали тест.
Резюме
- Selendroid є дуже потужним інструментом для тестування Android рідна програма, гібридна програма, а також веб-програма.
- Його можна використовувати як на реальних пристроях, так і на симуляторі.
- Це також дозволяє запускати тести паралельно, запускаючи тест на кількох пристроях.
- Все Selendroid набір складається з чотирьох компонентів:
- Клієнт Web Driver,
- Selendroid-Сервер,
- Android Додаток для водіїв
- Selendroid- стояти окремо
- використовувати Selendroid вам потрібно Java JDK, Android SDK і Eclipse встановлений.


































