Selendroid Підручник для початківців із прикладом
Ви коли-небудь розробляли Android додаток і опублікувати його в Google Play? Що ви будете робити, якщо отримаєте відгук користувача на кшталт –
Коли ви публікуєте програму в Google Play, її потрібно ретельно протестувати, щоб уникнути потенційних помилок. Існує маса сценаріїв тестування, які слід виконати перед публікацією програми. Щоб зберегти Тестування зусиль, вам потрібен інструмент тестування. Один із найкращих інструментів тестування для Android додаток є Selendroid.
Що таке Selendroid?
Selendroid це платформа автоматизації тестування для різних типів мобільних додатків: рідний та гібрид Android додаток і мобільний веб.
Ви можете писати тести за допомогою Selenium 2 API клієнта. Оскільки Selendroid все ще повторне використання існуючого Selenium інфраструктура для Інтернету
Selendroid є потужним інструментом тестування. Його можна використовувати на емулятори і справжнє Пристрої
Навіщо нам Selendroid?
Selendroid є чудовим інструментом тестування. Але ви можете сумніватися в його корисності.
У цьому розділі будуть представлені важливі функції Selendroid відповісти на питання, навіщо вам потрібно Selendroid.
- Ви можете перевірити тестову програму за допомогою Selendroid без будь-яких змін програми. Вам просто потрібен двійковий файл (АПК), встановлений на комп’ютері. Щоб інсталювати двійковий файл на пристрої, тестова та мобільна програми мають бути підписані однаковим ключем підпису
- Selendroid Тестовий додаток може взаємодіяти з кількома пристроями або симуляторами одночасно. Це велика перевага Selendroid. Таким чином, ви можете протестувати свою програму з різними Android пристрої для перевірки сумісності.
- Selendroid може імітувати дії користувача в додатку, як-от дотик, проведення пальцем, перетягування на пристроях
- Ви можете змінювати апаратні пристрої (підключати та відключати) під час тестування без перезапуску або зупинки тесту. 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», як показано нижче
Клацніть правою кнопкою миші Guru99Test -> Нові -> пакет
Введіть 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 Сервер запущено, відкрийте зразок тестового проекту Guru99test на Eclipse, встановіть точку зупину в рядку 77 у файлі Guru99Test.java, двічі клацнувши рядок 77 -> З’явиться крапка, як показано нижче
Почніть тестовий сеанс, клацнувши правою кнопкою миші, щоб відкрити проект Guru99Test -> Налагодити як -> 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); }
Виконати тест
Нижче наведено код для виконання тесту. Код містить коментарі
Ось ще раз тестові кроки
- Введіть текст «Привіт Гуру»
- Натисніть кнопку «Показати текст».
- Зачекайте трохи
- Переконайтеся, що програма відображає текст під час введення користувачем текстового поля (наприклад, відображення тексту «Hello 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()); }
Завершити тест
Наступний код завершить перевірку, зупинивши Selendroid водій.
/** * Stop the Selendroid driver * */ @AfterSuite public void tearDown() { driver.quit(); }
Ви можете побачити деталі в прикладі коду, включеному в цю статтю.
Крок 10) Спілкування Android пристрій до ПК через USB-кабель. Пункти, на які варто звернути увагу –
- Переконайтеся, що на пристрої не налаштовано блокування екрана.
- Пристрої мають бути підключені через USB до комп’ютера, на якому працює автономний компонент selendroid.
- Пристрій має встановити принаймні Android Target Версія API 10
Крок 11) Запустіть тестову програму: клацніть правою кнопкою миші Guru99test -> Запустити як -> TestNG тест
Крок 10) Сценарій запускається наступним чином
Крок 12) Після завершення виконання тесту, TestNG автоматично генерує звіт про тестування наступним чином
Гарна робота, ви склали тест.
Підсумки
- Selendroid є дуже потужним інструментом для тестування Android рідна програма, гібридна програма, а також веб-програма.
- Його можна використовувати як на реальних пристроях, так і на симуляторі.
- Це також дозволяє запускати тести паралельно, запускаючи тест на кількох пристроях.
- Все Selendroid набір складається з чотирьох компонентів:
- Клієнт Web Driver,
- Selendroid-Сервер,
- Android Додаток для водіїв
- Selendroid- стояти окремо
- використовувати Selendroid вам потрібно Java JDK, Android SDK і Eclipse встановлений.