Selendroid Підручник для початківців із прикладом

Ви коли-небудь розробляли Android додаток і опублікувати його в Google Play? Що ви будете робити, якщо отримаєте відгук користувача на кшталт –

Selendroid Підручник

Коли ви публікуєте програму в Google Play, її потрібно ретельно протестувати, щоб уникнути потенційних помилок. Існує маса сценаріїв тестування, які слід виконати перед публікацією програми. Щоб зберегти Тестування зусиль, вам потрібен інструмент тестування. Один із найкращих інструментів тестування для Android додаток є Selendroid.

Що таке Selendroid?

Selendroid це платформа автоматизації тестування для різних типів мобільних додатків: рідний та гібрид Android додаток і мобільний веб.

Що таке Selendroid

Ви можете писати тести за допомогою Selenium 2 API клієнта. Оскільки Selendroid все ще повторне використання існуючого Selenium інфраструктура для Інтернету

Selendroid є потужним інструментом тестування. Його можна використовувати на емулятори і справжнє Пристрої

Що таке Selendroid

Навіщо нам Selendroid?

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 Archiтектура

Selendroid містить 4 основних компоненти:

Selendroid Archiтектура

  • Клієнт веб-драйвера – The Java клієнтська бібліотека на основі Selenium. Ця бібліотека повинна бути встановлена ​​на комп’ютері (який використовується для розробки тестів)
  • Selendroid-Сервер – сервер, який працює в тестовій програмі Android пристрій або тренажер. Це основні компоненти a Selendroid архітектура
  • Android Driver-App – вбудований Android драйвер, програма Web View для тестування мобільного Інтернету.
  • Selendroid-Standalone – цей компонент використовується для встановлення Selendroid сервер і тестова програма (AUT)

Початок роботи з Selendroid

Ви вже зрозуміли важливість Selendroid. А тепер давайте забруднимо руки Selendroid.

Перед першим тестом необхідно виконати 3 кроки Selendroid

Початок роботи з Selendroid

Налаштування a Selendroid навколишнє середовище

Selendroid може працювати на Window, Linux і Mac OS. У цьому підручнику ми налаштуємо Selendroid в ОС Windows.

Перед використанням Selendroid, спочатку потрібно встановити наступний пакет

  • Java SDK (мінімум 1.6)

    Ви повинні прийняти ліцензійну угоду та завантажити програму встановлення Java (виберіть базу x64 або x86 у вашій ОС)

    Налаштування a Selendroid Навколишнє середовище

    Завантажте та встановіть Java SDK як звичайне програмне забезпечення

  • Остання версія Android SDK
  • На вашому комп’ютері має бути принаймні один Android Віртуальний пристрій (AVD), або реальний Android пристрій, підключений до ПК.
  • Selendroid Автономний із залежностями, Selendroid Клієнт та Selenium Клієнт
  • Eclipse програмне забезпечення
  • Налаштуйте JAVA_HOME та ANDROID_HOME

    Крок 1) У вікні клацніть правою кнопкою миші Комп’ютер -> властивості -> Розширені налаштування системи

    Налаштування a Selendroid Навколишнє середовище

    Крок 2) Відображення вікна «Властивості системи», виберіть вкладку «Додатково». -> Змінні оточення

    Налаштування a Selendroid Навколишнє середовище

    Крок 3) У вікні середовища натисніть «Створити». -> Введіть змінну ANDROID_HOME наступним чином

    Налаштування a Selendroid Навколишнє середовище

    Значення змінної — це шлях до android-sdks, який ви вже встановили.

    Знайдіть системну змінну Path -> Редагувати -> Додайте наступний рядок після поточного рядка

    Налаштування a Selendroid Навколишнє середовище

    Налаштування a Selendroid Навколишнє середовище

    Подібно до ANDROID_HOME, додайте нову змінну JAVA_HOME зі значенням, наведеним нижче

    Налаштування a Selendroid Навколишнє середовище

    Цінність - Шлях до свого Java Встановлення JDK

    Крок 4) Перезавантажте ПК -> Зроблений

Як запустити Selendroid

Крок 1) Передача програми на тестування

Можна використовувати існуючі Selendroid тестуйте додаток, щоб перевірити, як це зробити Selendroid працює (посилання до зразка програми, що тестується)

Після завершення завантаження скопіюйте цей файл APK і наведений вище файл Selendroid Автономна банка файл у папку з назвою «Guru99″

Крок 2) Запустіть Selendroid

Відкрийте термінал на Windows & перейдіть до папки Guru99, створеної на кроці 1.

Виконайте наступну команду

Запуск Selendroid

Вихід відобразиться наступним чином

Запуск Selendroid

Після виконання цієї команди Selendroid-автономний сервер HTTP запускається! Стандартний номер порту цього сервера – 4444. Усі апаратні пристрої, а також Android Віртуальний пристрій буде скановано та розпізнано автоматично. Selendroid визначить Android цільова версія та розмір екрана пристрою.

Щоб перевірити Android цільову версію, а також інформацію про пристрій, ви можете запустити таку URL-адресу в браузері: http://localhost:4444/wd/hub/status.

Запуск Selendroid

Selendroid основна команда

У цьому розділі представлені деякі основні Selendroid-Окремий командний рядок. Ви можете використовувати їх для налаштування Selendroid середовище тестування

  1. Налаштування порту Selendroid

    Стандартний порт Selendroid 4444. Але ви можете змінити порт на інший, додавши параметр до команди для запуску Selendroid

    Параметр: -порт [номер порту]

    Наприклад:

    Selendroid Основна команда

    У наведеній вище команді 5555 є новим портом.

Отже, URL-адреса для перевірки Android цільову версію змінено на: http://localhost:5555/wd/hub/status

  1. Вкажіть розташування програми, що тестується (Binary APK file). Selendroid часто вимагається абсолютний шлях до цього файлу

    Параметр: -прикл [шлях до файлу]

    Наприклад:

    Selendroid Основна команда

    У наведеній вище команді, Selendroid автоматично знаходити базу двійкових файлів у «C:\Guru99App.apk», щоб отримати інформацію про тестовану програму.

    Перевірте URL-адресу http://localhost:4444/wd/hub/status, ви побачите цю інформацію

    Selendroid Основна команда

  2. Змініть порт Selendroid використовує для зв’язку з сервером інструментів. Selendroid використовує порт 8080 як стандартний

    Параметр: -selendroidServerPort [номер порту]

    Приклад

    Selendroid Основна команда

    Тепер порт змінено на 9000

  3. Змініть час очікування для запуску емуляторів. Одиниця – мілісекунди.

    Параметр: -timeoutEmulatorStart

    За замовчуванням Selendroid чекатиме 300,000 200,000 мілісекунд, доки не запуститься емулятор. Ви можете змінити на новий тайм-аут (XNUMX XNUMX мс) за допомогою команди

    Selendroid Основна команда

    Після закінчення цього часу наш термін дії минув, якщо емулятор не може запуститися, Selendroid викличе помилку винятку (сталася помилка під час пошуку пристроїв/емуляторів.), а потім припинить роботу

  4. Коли ви починаєте Selendroid на терміналі, ви побачите журнал, роздрукований на екрані. Ви можете змінити тип журналу, який ви бачите, додавши наступний параметр

    Параметр: -logLevel [тип журналу]

    Значення рівня журналу: ПОМИЛКА, ПОПЕРЕДЖЕННЯ, ІНФОРМАЦІЯ, НАЛАШТУВАННЯ та ДЕСЛІВНЕ. Типове значення: ПОМИЛКА.

    Наприклад, встановити Selendroid щоб надрукувати лише журнал ПОПЕРЕДЖЕНЬ, ви можете використати цю команду

    Selendroid Основна команда

    Команда Selendroid друкуйте лише журнал ПОПЕРЕДЖЕНЬ

Почніть свій перший тест із Selendroid

Цей розділ є покроковим посібником зі створення вашого першого тестового сценарію за допомогою Selendroid

Припустимо, у нас є Android додаток під тестовою назвою Guru99App. Додаток містить текстове поле та назву кнопки «Показати текст».

ЗАВАНТАЖТЕ APK ТУТ

Перший тест с Selendroid

Нам потрібно виконати наступне Тестовий випадок використання Selendroid

Тестові випадки стан Очікуваний результат
  1. Запустіть програму
  2. Введіть текст "Тест Guru99” у текстове поле
  3. Натисніть кнопку «Показати текст».
Двійковий файл програми, що тестується, доступний

Пристрій підключено до ПК

Текст «Показати текст тут» змінено на текст

які користувач вводить у текстове поле

Крок 1) Створити Java проект в Eclipse

Крок 2) Додайте селен і Selendroid файл jar у середовищах eclipse

Клацніть правою кнопкою миші Guru99Test Project -> Побудувати шлях -> Додати зовнішній Archives

Перший тест с Selendroid

Перейдіть до папки, у якій зберігаються файли 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 до проекту

Перший тест с Selendroid

Крок 3) після додавання вищезазначеної бібліотеки ці бібліотеки буде додано до довідкових бібліотек тестового проекту. Тестер може використовувати API цих бібліотек для розробки тестової програми

Створіть пакет «com.guru.test» і додайте файл Java «Guru99Test.java», як показано нижче

Клацніть правою кнопкою миші Guru99Test -> Нові -> пакет

Перший тест с Selendroid

Введіть com.guru.test у поле «Назва» на сторінці «Новий». Java Діалогове вікно пакета à Готово

Перший тест с Selendroid

Команда Eclipse створить папки зі списками та вкладені папки, подібні до цієї, у структурі вихідного коду

Перший тест с Selendroid

Крок 4) Встановлювати TestNG та цінності Eclipse

In Eclipse, Допомога -> Інсталюйте нове програмне забезпечення, у діалоговому вікні встановлення натисніть «Додати» та введіть наступне

Натисніть "ОК" -> Далі, щоб встановити TestNG

Перший тест с Selendroid

Крок 5) Скопіюйте Guru99App.apk до папки Test App

Перший тест с Selendroid

Крок 6) Отримайте ідентифікатор програми, що тестується.

Припустимо, у нас є файл APK з назвою Guru99App.apk. Виконайте крок, описаний у попередньому розділі, виконайте команду на терміналі

Перший тест с Selendroid

Відкрийте наступне посилання в браузері: http://localhost:4444/wd/hub/status.

Відображається інформація про пристрій, скопіюйте значення appId «com.guru99app:1.0»

Перший тест с Selendroid

Крок 7) Відкрийте файл Guru99Test.java (у зразку коду) і внесіть наступні зміни

Перший тест с Selendroid

Щоб створити новий тестовий сеанс за допомогою Selendroid, ви повинні надати ідентифікатор програми у форматі: com.guru99app:1.0. Цей ідентифікатор програми можна ідентифікувати на кроці 6. Якщо ви не встановите ідентифікатор програми, що відповідає Android пристрою, тестовий сеанс видасть помилку та не розпочнеться.

Після ініціалізації знайденого пристрою, Selendroid створює налаштований selendroid-сервер і встановлює Selendroid сервер на ньому

Selendroid також встановлює тестову програму та запускає selendroid-сервер на пристрої

Після успішної ініціалізації тестового сеансу тестова команда починає виконуватися на пристрої. (Наприклад, введення тексту, натискання кнопки…). Якщо тест додає тестовий сеанс, емулятор автоматично зупиниться

Крок 8) Почніть новий тестовий сеанс

Запустити Selendroid сервер за допомогою такої команди на терміналі, як крок 6

Перший тест с Selendroid

Після Selendroid Сервер запущено, відкрийте зразок тестового проекту Guru99test на Eclipse, встановіть точку зупину в рядку 77 у файлі Guru99Test.java, двічі клацнувши рядок 77 -> З’явиться крапка, як показано нижче

Перший тест с Selendroid

Почніть тестовий сеанс, клацнувши правою кнопкою миші, щоб відкрити проект Guru99Test -> Налагодити як -> Testng Тест.

Розпочнеться тестовий сеанс, як показано нижче

Перший тест с Selendroid

Крок 9) Отримайте ідентифікатор елемента GUI програми, що тестується

Після успішного запуску тестового сеансу відкрийте браузер, перейдіть за URL-адресою http://localhost:4444/inspector

Ви побачите, що програма, що тестується, запущена, як показано нижче

Перший тест с Selendroid

Наведіть курсор миші на кожен елемент інтерфейсу користувача AUT (кнопка, текстове поле, текстова мітка), ідентифікатор кожного елемента буде виділено на правій панелі

Перший тест с Selendroid

Після цього кроку ви можете отримати ідентифікатор кожного вищезазначеного елемента інтерфейсу користувача

  • Кнопка Показати ідентифікатор тексту: “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);
					       
		    }
		

Виконати тест

Нижче наведено код для виконання тесту. Код містить коментарі

Ось ще раз тестові кроки

  1. Введіть текст «Привіт Гуру»
  2. Натисніть кнопку «Показати текст».
  3. Зачекайте трохи
  4. Переконайтеся, що програма відображає текст під час введення користувачем текстового поля (наприклад, відображення тексту «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 тест

Перший тест с Selendroid

Крок 10) Сценарій запускається наступним чином

Перший тест с Selendroid

Крок 12) Після завершення виконання тесту, TestNG автоматично генерує звіт про тестування наступним чином

Перший тест с Selendroid

Перший тест с Selendroid

Гарна робота, ви склали тест.

Підсумки

  • Selendroid є дуже потужним інструментом для тестування Android рідна програма, гібридна програма, а також веб-програма.
  • Його можна використовувати як на реальних пристроях, так і на симуляторі.
  • Це також дозволяє запускати тести паралельно, запускаючи тест на кількох пристроях.
  • Все Selendroid набір складається з чотирьох компонентів:
    • Клієнт Web Driver,
    • Selendroid-Сервер,
    • Android Додаток для водіїв
    • Selendroid- стояти окремо
  • використовувати Selendroid вам потрібно Java JDK, Android SDK і Eclipse встановлений.

Щоденний інформаційний бюлетень Guru99

Розпочніть свій день з останніх та найважливіших новин про штучний інтелект, які ви можете знайти просто зараз.