selendroid tutorial android mobile test automation framework
Мобилна автоматизация с помощта на Selendroid (Част I):
До този момент милиони приложения вече са разработени с помощта на Android като платформа и броят продължава да се увеличава от ден на ден.
Уловката е как да се провери всяко приложение? Тъй като ще се нуждаем от специални ресурси като работна ръка, реални устройства (да речем мобилни устройства) и т.н., и отново това отнема много време. От друга страна, версията на android, версията на приложенията (.apk), размерът на устройството и т.н., не са постоянни.
Следователно става много трудно да се дефинират критериите за излизане от теста, тъй като не можем да определим пълния обхват на тестване, поради което не може да се направи точна оценка на усилията за тестване.
За да се преодолее зависимостта от устройството, се разработват емулатори, които могат да осигурят среда в реално време като среда, където можем да тестваме приложението, без да се притесняваме за версията на Android, устройствата и тяхната версия. Но все пак тестването на приложения (.apk) чрез емулатор е ръчна дейност и дори отнема много време. Следователно идеята за автоматизиране на мобилното тестване се развива.
За извършване на мобилна автоматизация е разработена рамка за тестова автоматизация, която дава възможност за автоматизация на Android-базирано приложение чрез използване на скриптов език.
Разработени са много рамки за автоматизация като Selendroid, Appium, Robotium, Espresso.
Този урок е разделен на две части:
Урок №1 : Въведение на Selendroid: Android Framework Automation Automation Framework
Урок # 2: Как да използвам рамката Selendroid за автоматизиране на потребителските взаимодействия през мобилно приложение (очаквайте скоро)
Какво ще научите:
- Какво е Selendroid?
- Компоненти на Selendroid
- Настройка на околната среда
- Писане на първи скрипт с използване на APK файлове върху реални устройства
- Заключение
- Препоръчително четене
Какво е Selendroid?
Selendroid е удивителен инструмент за рамка за автоматизация на тестове за мобилни приложения с Android с няколко важни функции. Selendroid е много мощен инструмент за автоматизация, който може да взаимодейства едновременно с множество устройства и приложението може да бъде тествано без никакви модификации или промени с помощта на Selendroid.
Нарича се още „Селен за Android“ за тестване на естествени и хибридни мобилни приложения и мобилна мрежа.
Защо Selendroid?
- Той е с отворен код (безплатен за използване)
- Поддържа селен като скриптов език
- Поддържа езици, съвместими с уеб драйвери като Java, C #, Perl
- Поддържа всички версии на Android
- Работи както на емулатор, така и на реално устройство
- Работи върху родно, хибридно и уеб-базирано приложение
- Ефективен при изпълнение на собствени приложения, както и приложения, базирани на облак. тъй като поддържа селенова решетка
- Той поддържа разпознаване на обекти, използвайки свойства на обекта
- Лесно за изпълнение
- Хардуерните устройства могат да бъдат включени, изключени от компютъра по време на изпълнението на теста, без рестартиране или спиране на теста. Selendroid може автоматично да разпознава новите устройства. Тази функция е известна като „Горещо включване“
Проста архитектура на Selendroid
Компоненти на Selendroid
Selendroid - клиент
По принцип това е клиентска библиотека на Java. От този компонент, HTTP и WebDriver заявката се изпращат чрез JSON до Selendroid Standalone server.
Selendroid - Самостоятелен
Този компонент управлява различни устройства, както и .apk, като инсталира Selendroid-сървъра и тестваното приложение. Http заявката (за изпълнение на реално устройство / симулатор) се изпраща от автономния сървър на Selendroid към устройството и тествания apk.
Selendroid - Сървър
Този сървър работи над устройството заедно с тестваното приложение. Има двупосочна комуникация между сървъра, както и тестваното приложение.
AndroidDriverApp
Това е вграден драйвер за Android, както и приложение за уеб изглед за тестване на мобилната мрежа.
Друга тестова рамка, наречена APPI работи подобно на Selendroid.
Ето малко сравнение между двете.
Особеност | 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, докато инсталирате.
java срещу c ++, което е по-добре
Задайте променливите на околната среда, които се намират в Моят компютър -> щракнете с десния бутон върху него -> Свойства -> Настройка на предварителната система
- Eclipse вече е инсталиран на вашата машина. Ако не, можете също да изтеглите същото от тук
- Файловете от селен буркан трябва да бъдат изтеглени. Можете да изтеглите същото от тук също
- Бурканите TestNG вече са изтеглени
- Android SDK за изтегляне и инсталиране. Можете също да изтеглите същото от тук
Запишете пътя на Android SDK, докато инсталирате
След като бъде изтеглен, ANDROID_HOME трябва да бъде зададен в променливите на околната среда, налични върху:
Моят компютър -> щракнете с десния бутон върху него -> Properties -> Advance System Setting
- Файловете от jar на Selendroid трябва да бъдат изтеглени. Можете също да изтеглите същото от тук
Помня за да изтеглите самостоятелния файл на jar от Selendroid от горното място. Обикновено името е като selendroid-standalone-0.9.0-with-dependencies.jar. Също така изтеглете един примерен APK файл, кажете selendroid-test-app-0.8.0.apk от горното местоположение
Забележка:
- Можем също да използваме хранилище на maven за да дадете препратка към всички буркани или иначе трябва да ги изтеглите ръчно и да го прикачите към пътя на компилация (Over Eclipse Project)
- Устройства / емулатори - В android всички инсталирани приложения ще имат разширението .apk. По други начини можете да изтеглите приложения като APK Info, които ще ви информират за списъка с приложения, инсталирани на вашето устройство с 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
Придвижете се до папката, в която се намират самостоятелният буркан на Selendroid, както и изтегленият apk файл.
sql интервю въпроси и отговори за по-свежи pdf
Сега посочете подобна команда и натиснете enter в командния ред
E.g. 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 адрес във всеки от вашите уеб браузъри.
E.g: http: // localhost: 4444 / инспектор
Тук имаме екранна снимка на тестваното приложение и имаме възможност да инспектираме и елемента.
Или винаги можете да използвате uiautomatorviewer за намиране на обектите от тестваното приложение.
Пътят по подразбиране за това е споменат по-долу:
C: Потребители администратор android-sdks tools
C: Потребители администратор - Това е мястото, където съм инсталирал 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 framework за автоматизиране на потребителските взаимодействия през мобилно приложение.
В следващата ни статия ще обсъдим повече за pCloudy Ръководство за практически преглед.
Препоръчително четене
- Уроци за задълбочено затъмнение за начинаещи
- SeeTest Automation Tutorial: Ръководство за инструменти за автоматизация на мобилни тестове
- Урок за Java Collections Framework (JCF)
- Урок за отражение на Java с примери
- Урок за Ranorex: Мощен инструмент за тестване на десктоп, уеб и мобилна автоматизация
- Урок за Appium за тестване на мобилни приложения за Android и iOS
- Използване на Selendroid за автоматизиране на потребителските взаимодействия през мобилно приложение (част 2)
- Разширено използване на SeeTest Automation в реално време за мобилна автоматизация