selendroid tutorial android mobile test automation framework
Мобільна автоматизація за допомогою Selendroid (Частина I):
Дотепер мільйони додатків вже розроблені з використанням Android як платформи, і їх кількість продовжує зростати з кожним днем.
Суть у тому, як перевірити кожну програму? Оскільки нам будуть потрібні спеціальні ресурси, такі як робоча сила, реальні пристрої (скажімо, наприклад, мобільні) тощо, і знову це трудомістке завдання. З іншого боку, версія для Android, версія додатків (.apk), розмір пристрою тощо не є постійними.
Отже, стає дуже важко визначити критерії виходу з тесту, оскільки ми не можемо визначити повний обсяг тестування, отже неможливо зробити точну оцінку зусиль тестування.
Для подолання залежності пристрою розробляються емулятори, які можуть забезпечувати середовище в режимі реального часу, де ми можемо тестувати додаток, не турбуючись про версію Android, пристрої та їх версію. Але тестування додатків (.apk) за допомогою емулятора все-таки є ручною роботою і навіть трудомістким завданням. Звідси ідея автоматизації мобільного тестування розвивається.
Для автоматизації мобільних пристроїв розроблена система автоматизації тестування, яка дозволяє автоматизувати додаток на базі Android за допомогою мови сценаріїв.
приватні сервери для world of warcraft
Розроблено багато систем автоматизації, таких як Selendroid, Appium, Robotium, Espresso.
Цей підручник розділений на дві частини:
Підручник No1 : Вступ до Selendroid: Android Mobile Test Automation Framework
Підручник No2: Як використовувати фреймворк Selendroid для автоматизації взаємодії користувачів через мобільний додаток (скоро)
Що ви дізнаєтесь:
- Що таке Selendroid?
- Компоненти Selendroid
- Налаштування навколишнього середовища
- Написання першого сценарію за допомогою файлів APK на реальних пристроях
- Висновок
- Рекомендована література
Що таке Selendroid?
Selendroid - це дивовижний інструмент для автоматизації тестування мобільних додатків для Android з декількома важливими функціями. Selendroid - це дуже потужний інструмент автоматизації, який може взаємодіяти з кількома пристроями одночасно, а додаток можна протестувати без будь-яких модифікацій та змін за допомогою Selendroid.
Його ще називають “Селен для Android” для тестування власних та гібридних мобільних додатків та мобільного Інтернету.
Чому Selendroid?
- Це відкритий код (безкоштовний у використанні)
- Підтримує селен як мову сценаріїв
- Підтримує мови, сумісні з веб-драйверами, такі як Java, C #, Perl
- Підтримує всі версії Android
- Працює як на емуляторі, так і на реальному пристрої
- Працює над власною, гібридною та веб-програмою
- Ефективний під час виконання власних додатків, а також хмарних додатків. оскільки він підтримує селенову сітку
- Він підтримує розпізнавання об'єктів за допомогою властивостей об'єкта
- Легко реалізувати
- Апаратні пристрої можна підключати, відключати від ПК під час виконання тесту, без перезапуску та зупинки тесту. Selendroid може автоматично розпізнавати нові пристрої. Ця функція відома як 'гаряче підключення'
Проста архітектура Selendroid
Компоненти Selendroid
Selendroid - клієнт
В основному це бібліотека клієнта Java. За допомогою цього компонента запит HTTP та WebDriver надсилається за допомогою JSON на автономний сервер Selendroid.
Selendroid - автономний
Цей компонент керує різними пристроями, а також .apk, встановлюючи Selendroid-сервер та тестовану програму. Запит Http (який повинен бути виконаний на реальному пристрої / симуляторі) надсилається з автономного сервера Selendroid на пристрій та тестований apk.
Selendroid - сервер
Цей сервер працює над пристроєм разом із тестовою програмою. Між сервером, а також тестованою програмою існує двосторонній зв’язок.
AndroidDriverApp
Це вбудований драйвер Android, а також додаток Web View для тестування мобільного Інтернету.
Ще одна тестова система, названа як APPI працює подібно до Selendroid.
Ось невелике порівняння між ними.
Особливість | Селендроїд | аппіум |
---|---|---|
Підтримка нижньої версії для Android (<4.1) | Так | Не |
Гаряче підключення | Так | Не |
Тестування агента користувача | Не | Так |
Підтримка додатків на базі iOS | Не | Так |
Екологічні вимоги | Для Android - Mac, Linux, Windows (будь-яка версія) | Для iOS - Mac OSX 107. Для Android - Windows 7+, Linux, Mac OSX 107. |
Передумови:
Для початку передбачувана аудиторія повинна бути дуже добре обізнана у використанні селену, будь-яких інструментів IDE, таких як Eclipse тощо. Основні поняття програмування говорять про Java, C тощо ... і повинні знати про використання Maven та інших інструментів ТЕСТУВАННЯ.
- Встановіть Intel x86 Emulator Accelerator (не обов'язково) для перегляду симулятора тут
- Java SDK, JRE вже встановлений у тестовому середовищі. Ви також можете завантажити те саме з тут
Запишіть шлях SDK під час встановлення.
Встановіть змінні середовища, присутні на Моєму комп’ютері -> клацніть правою кнопкою миші -> Властивості -> Розширені налаштування системи
- Eclipse вже встановлено на вашому комп'ютері. Якщо ні, ви також можете завантажити те саме з тут
- Файли банки селену потрібно завантажити. Ви можете завантажити те саме звідси також
- Банки TestNG вже завантажені
- Android SDK для завантаження та встановлення. Ви також можете завантажити те саме з тут
Запишіть шлях SDK Android під час встановлення
Після завантаження ANDROID_HOME повинен бути встановлений у змінних середовища, наявних над:
Мій комп'ютер -> клацніть правою кнопкою миші -> Властивості -> Попереднє налаштування системи
- Файли jar jar Selendroid потрібно завантажити. Ви також можете завантажити те саме з тут
Запам’ятайте щоб завантажити окремий файл jar Selendroid із зазначеного вище місця. Зазвичай ім'я схоже на selendroid-standalone-0.9.0-with-dependencies.jar. Крім того, завантажте один зразок файлу .apk, скажімо selendroid-test-app-0.8.0.apk із наведеного вище місця
Примітка:
- Ми також можемо використовувати сховище maven щоб дати посилання на всі баночки, інакше їх потрібно завантажити вручну та приєднати до шляху збірки (проект Over Eclipse)
- Пристрої / емулятори - В android всі встановлені програми матимуть розширення .apk. Іншими способами ви можете завантажити такі програми, як інформація про APK, яка повідомить вас про список програм, встановлених на вашому пристрої Android, та їх фактичне ім’я, розмір тощо ...
Налаштування навколишнього середовища
# 1) Зберігайте файл .apk, який потрібно встановити, у потрібному місці
те, що ви бачите, - це те, що ви отримуєте у веб-конструкторі
У моєму випадку я все зберіг G: \ Банки \ selendroid-test-app-0.8.0.apk
# 2) Далі тримайте програму в папці проекту
У моєму випадку це так 500: AppiumAutomation SelendroidFirst
# 3) Підключіть реальний пристрій до ПК
Переконавшись, що режим налагодження USB увімкнено, а також ви дозволяєте встановлювати зовнішні програми через підключення USB.
Поради:
- Будь ласка, зверніться до налаштування налагодження USB, необхідного для мобільних пристроїв, скажімо Redmi Note 3 від тут
- Дозволити зовнішню програму, встановлену за допомогою USB, сказати Redmi note 3 від тут
# 4) Відкрийте командний рядок у Windows
Перейдіть до папки, де є автономний jar Selendroid, а також завантажений файл apk.
Тепер вкажіть подібну команду та натисніть клавішу Enter у командному рядку
Наприклад java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Або java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Файл APK: selendroid-test-app-0.8.0.apk
Примітка: Коли виконано вищевказану команду, переконайтеся, що APK підписано, а також реальний пристрій підключено до ПК і на пристрої ввімкнено налагодження.
(Примітка: Клацніть на зображення для збільшення
Перевірте наступні пункти в командному рядку, щоб переконатися, що середовище готове до автоматизації:
- Перевірте повідомлення 'Пристрій вказано з дійсним номером'
- Перевірте повідомлення 'сервер запущений у порту за замовчуванням, скажімо (4444)…'
- Перевірте повідомлення 'Сеанс створюється ...'
Знову ж таки, ми завжди можемо підтвердити, чи сервер запускається чи не використовує вказану нижче URL-адресу в будь-якому з ваших веб-браузерів.
напр. http: // localhost: 4444 / wd / hub / status
№5) Перевірка файлів .apk
- Ми можемо використовувати Real Apps, підключаючи реальні мобільні пристрої
- Ми можемо використовувати будь-які завантажені файли APK в автономному режимі
Selendroid Inspector корисний під час налагодження / перевірки веб-елементів APK.
Як тільки пристрій буде ідентифіковано та запущено, ми можемо переглянути APK (у віртуальному режимі) та знайти посилання, що корисно для написання сценаріїв, використовуючи вказану нижче URL-адресу для будь-якого з ваших веб-браузерів.
Наприклад: http: // localhost: 4444 / inspector
Тут ми маємо знімок екрана програми, що тестується, і у нас є можливість також перевірити елемент.
Або ви завжди можете використовувати uiautomatorviewer щоб знайти об'єкти із програми, що тестується.
як відкрити bin файли на android - -
Шлях за замовчуванням для цього вказаний нижче:
C: Users admin android-sdks tools
C: Users admin - Це місце, де я встановив Android SDK, але воно може відрізнятися відповідно до місця, вказаного під час його встановлення.
Написання першого сценарію за допомогою файлів APK на реальних пристроях
Завдання:
- Запустіть сервер (на порту за замовчуванням скажімо 4444)
- Створити сеанс
- Встановіть програму (файл .apk) на підключений реальний пристрій
- Автоматизуйте текстове поле з деякими даними
- Автоматично натисніть на кнопку
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Висновок
Selendroid - це дуже потужний інструмент для тестування автоматизації, який можна використовувати для тестування власних, гібридних, а також веб-програм на будь-якому пристрої Android, а також симуляторі.
Він підтримує Hotplugging, що означає, що користувач може тестувати кілька пристроїв одночасно, отже паралельне виконання тесту можливо на декількох пристроях. Він підтримує різні види взаємодій, такі як тривале натискання, сенсорні дії тощо ...
Єдиною складністю є екологічна установка, яка є і в інших рамках. Як тільки він правильно налаштований, ми зможемо запускати наші сценарії без особливих труднощів.
Вчастина 2цього підручника Selendoid ми розглянемо - Як використовувати фреймворк Selendroid для автоматизації взаємодії користувачів через мобільний додаток.
У нашій наступній статті ми поговоримо далі Підручник з огляду практичних оглядів pCloudy.
Рекомендована література
- Поглиблені підручники Eclipse для початківців
- SeeTest Automation Tutorial: Мобільний інструмент автоматизації тестування
- Підручник з Java Collections Framework (JCF)
- Підручник з роздумів про Java з прикладами
- Підручник з Ranorex: Потужний інструмент тестування настільних, веб- та мобільних засобів автоматизації
- Підручник Appium для тестування мобільних додатків для Android та iOS
- Використання Selendroid для автоматизації взаємодії користувачів через мобільний додаток (частина 2)
- Розширене використання автоматизації SeeTest у проекті мобільної автоматизації в режимі реального часу