Какво представлява Appium?
APPIUM е свободно разпространявана рамка за тестване на потребителски интерфейс на мобилно приложение с отворен код. Appium позволява тестване на собствени, хибридни и уеб приложения и поддържа тест за автоматизация на физически устройства, както и емулатор или симулатор. Той предлага междуплатформено тестване на приложения, т.е. единичен API работи както за тестови скриптове за Android, така и за iOS.
Той НЯМА зависимост от ОС на мобилно устройство. Тъй като APPIUM има рамка или обвивка, които превеждат командите на Selenium Webdriver в команди UIAutomation (iOS) или UIAutomator (Android) в зависимост от типа на устройството, а не от всеки тип операционна система.
Appium поддържа всички езици, които имат клиентски библиотеки на Selenium като - Java, Objective-C, JavaScript с node.js, PHP, Ruby, Python, C # и др.
В този урок ще научим за
- Как работи APPIUM?
- Предпоставка за използване на APPIUM
- Инсталирайте Appium Desktop:
- Инспектор на APPIUM
- Прикачете Android емулатор към Appium
- Тестова кутия APPIUM за собствено приложение за Android (калкулатор)
- Ограничения при използване на APPIUM
- Често срещани грешки и стъпки за отстраняване на неизправности в Appium
Как работи APPIUM?
- Appium е „HTTP сървър“, написан с помощта на платформа Node.js и управлява iOS и сесия на Android, използвайки протокол за свързване на JSON Webdriver. Следователно, преди инициализиране на Appium Server, Node.js трябва да бъде предварително инсталиран в системата.
- Когато Appium се изтегли и инсталира, тогава на нашата машина се настройва сървър, който излага REST API.
- Той получава заявка за връзка и команда от клиента и изпълнява тази команда на мобилни устройства (Android / iOS).
- Той отговаря в отговор с HTTP отговори. Отново, за да изпълни тази заявка, той използва рамките за автоматизация на мобилните тестове, за да управлява потребителския интерфейс на приложенията. Рамка като: -
- Apple Instruments за iOS (Инструментите са налични само в Xcode 3.0 или по-нова версия с OS X v10.5 и по-нова версия)
- Google UIAutomator за Android API ниво 16 или по-високо
- Selendroid за Android API ниво 15 или по-малко
Предпоставка за използване на APPIUM
- Инсталирайте ANDROID SDK (Studio) [Връзка] -
- Инсталирайте JDK (Java Development Kit) [Връзка]
- Инсталирайте Eclipse [Връзка]
- Инсталирайте TestNg за Eclipse [Връзка]
- Инсталирайте JAR на Selenium Server [Връзка]
- Клиентска библиотека на Appium [Връзка]
- Информация за APK приложението в Google Play [Връзка]
- js (Не е задължително - Всеки път, когато сървърът Appium е инсталиран, той по подразбиране се предлага с "Node.exe" и NPM. Той е включен в текущата версия на Appium.)
- Инсталирайте Appium Desktop
Инсталирайте Appium Desktop:
Appium Studio е GUI приложение с отворен код за инсталиране на Appium Server. Той се доставя в комплект с всички предпоставки за инсталиране и използване на Appium Server. Той също така има инспектор, за да получи основна информация за вашите приложения. Той се предлага с Recorder, за да създаде шаблонния код за автоматизиране на вашите мобилни приложения.
Стъпка 1) Отидете на http://appium.io/ и кликнете върху Изтегляне на Appium.
Стъпка 2) За Windows изберете exe файла и изтеглете. Файлът е около 162MB, отнема време за изтегляне въз основа на скоростта ви в интернет.
Стъпка 3) Кликнете върху изтегления exe.
Стъпка 4) На машина с Windows няма нужда да инсталирате Appium. Той работи директно от exe. След като щракнете върху exe, ще видите следното изображение за няколко минути.
За Mac трябва да инсталирате dmg
Стъпка 5) След това ще видите прозореца за стартиране на сървъра. Той попълва опцията за хост и порт по подразбиране, която можете да промените. Той също така споменава версията на Appium, която се използва.
Стъпка 6) При щракване върху бутона за стартиране на сървъра се стартира нов сървър на посочения хост и порт. Показва се изходът на регистрационния файл на сървъра.
Стъпка 7) Щракнете върху нов прозорец на сесията .
Стъпка 8) Можете да въведете желаните възможности и да започнете сесия.
Инспектор на APPIUM
Подобно на инструмента за запис и възпроизвеждане на Selenium IDE, Appium има „Inspector“ за запис и възпроизвеждане. Той записва и възпроизвежда поведение на собственото приложение, като проверява DOM и генерира тестовите скриптове на всеки желан език. Понастоящем обаче няма поддръжка за Appium Inspector за Microsoft Windows. В Windows стартира Appium Server, но не успява да провери елементи. Прегледът на UIAutomator обаче може да се използва като опция за проверка на елементи.
Стъпки за започване с Appium Inspector на Mac машина: -
Стъпка 1) Изтеглете и стартирайте вашия Appium сървър с IP адреса по подразбиране 0.0.0.0 и порта 4725.
- Изберете изходния файл или .app файлове от локален за тестване.
- Поставете отметка в квадратчето „Път на приложението“, за да активирате бутона „Избор“.
Стъпка 2) Сега, щракнете върху бутона "Избор" ще даде възможност за преглед и избор на тестов файл от локалното устройство.
Стъпка 3) Стартирайте Simulator на Mac машина.
Стъпка 4) Щракнете върху бутона „Стартиране“ от горния десен ъгъл, който активира синя цветна икона. Отново кликнете върху тази синя цветна икона, тя ще отвори инспектора и симулатора на Appium с предварително избрано приложение.
Стъпка 5) - Стартирането на Appium Inspector ще покаже йерархията на елементите в колонна структура. Също така потребителят може да прилага действия, като използва бутони като Tap, Swipe и др.
Стъпка 6) Щракнете върху бутона „Стоп“, за да спрете записа.
Прикачете Android емулатор към Appium
Стъпка 1) Инсталирайте Android SDK във вашата система.
Отидете на Контролен панел >> Система и сигурност >> Система и от левия панел кликнете върху „Разширени системни настройки”. От изскачащия прозорец "System Properties" кликнете върху раздела "Advanced" и след това върху бутона "Променливи на околната среда".
Стъпка 2) Сега от изскачащия прозорец "Променливи на околната среда" щракнете двукратно върху "Път" и задайте променливата ANDROID_HOME, която сочи към вашата SDK директория. В пътя добавете целия път на SDK папката.
напр -
C: \ User \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk
Стъпка 3) Стартирайте вашия емулатор на Android или прикачете което и да е устройство с Android към вашата система (Уверете се, че сте активирали опцията за отстраняване на грешки на Android във вашето устройство Android. За да проверите опцията за отстраняване на грешки. Отидете в Настройки на устройството >> Опции за разработчици >> Отметнете „Опция за отстраняване на грешки“ ).
Стъпка 4) Отворете командния ред и отидете до директорията \ platform-tools \ на вашия Android SDK (напр. D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).
Стъпка 5) - Изпълнете командата "adb устройства". Можете да видите свързаното устройство, изброено в прозореца на командния ред. (В CMD пише '> adb устройства' - Тази команда ще изброи свързаните екземпляри на емулатор. Например: adb -s emulator-5554 install <Местоположение на .apk файл>)
Стъпка 6) - Изпълнете командата "adb start-server". Той ще стартира ADB сървър, който ще се използва от Appium за изпращане на команди към вашето Android устройство.
Стъпка 7) Сега отидете до директорията на Appium във вашата система и стартирайте Appium, като щракнете върху файл Appium.exe.
Стъпка 8) Не променяйте IP адреса или номера на порта и кликнете върху бутона „Стартиране“. Вашата Appium конзола започва от 127.0.0.1:4723, както е показано по-долу.
Стъпка 9) Щракнете върху бутона „Старт“, сървърът Appium започна да работи във вашата система.
Тестова кутия APPIUM за собствено приложение за Android (калкулатор)
Стъпка 1) ) Изтеглете приставката ADT eclipse или изтеглете ADT, включена отделно тук
Стъпка 2) Отворете Eclipse и създайте нов проект >> Пакет >> Клас
Стъпка 3) Импортирайте библиотека Selenium и Testng вътре в този нов проект.
Стъпка 4) Сега създайте малка тестова програма за 'Calculator.app', за да сумирате две числа.
пакет src_Appium;импортиране на java.net.MalformedURLException;внос java.net.URL;внос org.openqa.selenium.By;импортиране на org.openqa.selenium.WebDriver;внос org.openqa.selenium.WebElement;// импортиране на org.openqa.selenium.remote.CapabilityType;импортиране на org.openqa.selenium.remote.DesiredCapabilities;импортиране на org.openqa.selenium.remote.RemoteWebDriver;внос org.testng.анотации. *;публичен клас калкулатор {Драйвер за WebDriver;@BeforeClasspublic void setUp () хвърля MalformedURLException {// Настройте желаните възможности и предайте Android-активността на приложенията и пакета от приложения на AppiumВъзможности за желани възможности = нови желани възможности ();възможности.setCapability ("BROWSER_NAME", "Android");възможности.setCapability ("ВЕРСИЯ", "4.4.2");възможности.setCapability ("deviceName", "Emulator");functions.setCapability ("platformName", "Android");възможности.setCapability ("appPackage", "com.android.calculator2");// Това име на пакета на вашето приложение (можете да го получите от приложението за информация за apk)възможности.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Това е Launcher дейност на вашето приложение (можете да го получите от apk info app)// Създайте екземпляр на RemoteWebDriver и се свържете със сървъра на Appium// Той ще стартира приложението Калкулатор в устройство с Android, използвайки конфигурациите, посочени в Желани възможностидрайвер = нов RemoteWebDriver (нов URL адрес ("http://127.0.0.1:4723/wd/hub"), възможности);}@Тестpublic void testCal () хвърля изключение {// намерете текста в калкулатора, като използвате By.name ()WebElement two = driver.findElement (By.name ("2"));two.click ();WebElement плюс = driver.findElement (By.name ("+"));plus.click ();WebElement four = driver.findElement (By.name ("4"));four.click ();WebElement jednakTo = драйвер.findElement (By.name ());равниTo.click ();// намерете полето за редактиране на калкулатора, като използвате By.tagName ()Резултати от WebElement = driver.findElement (By.tagName ("EditText"));// Проверете изчислената стойност в полето за редактиранеутвърждавам results.getText (). equals ("6"): "Действителната стойност е: + results.getText () + "не съвпада с очакваната стойност: 6";}@След часоветепублично премахване на празнотата () {// затваряме приложениетоdriver.quit ();}}
Appium Server и Android Emulator от 'AVD Manager' и щракнете върху Run >> TestNG. Горната програма ще стартира „Calculator.app“ на избрания емулатор и Резултат, показан под конзолата Eclipse, използвайки TestNG рамка.
Ограничения при използване на APPIUM
- Appium не поддържа тестване на версия на Android по-ниска от 4.2
- Ограничена поддръжка за тестване на хибридни приложения. напр .: не е възможно да се тества превключващото действие на приложението от уеб приложението към родното и обратно.
- Няма поддръжка за стартиране на Appium Inspector в Microsoft Windows.
Често срещани грешки и стъпки за отстраняване на неизправности в Appium
Грешка | Стъпки за отстраняване на неизправности |
---|---|
1. грешка: - Следните желани възможности са необходими, но не са предоставени: Име на устройството, Име на платформата | 1. Добавете желаните възможности: Име на устройството, Име на платформа в APPIUM скрипт. напр .: functions.setCapability ("deviceName", "Emulator"); functions.setCapability ("platformName", "Android"); |
2. грешка: Не можах да намеря adb. Моля, задайте променливата на средата ANDROID_HOME с пътя на основната директория на Android SDK. | 2. Вероятно трябва да настроите пътя на SDK коренната директория в системната „Променливи на околната среда“ в колона „Път“ |
3. грешка: org.openqa.selenium.SessionNotCreatedException: Не можа да бъде създадена нова сесия. | 3. Трябва да зададете правилен път на приложението и да рестартирате сървъра на Appium. |
4. Как да намеря DOM елемент или XPath в мобилно приложение? | 4. Използвайте 'UIAutomatorviewer', за да намерите DOM елемент за приложение за Android. |