Appium Урок за начинаещи
⚡ Умно обобщение
Appium Урок за Android и тестването на мобилни приложения за iOS въвежда рамка за автоматизация на потребителския интерфейс с отворен код, която управлява нативни, хибридни и уеб приложения на двете платформи с едно единствено... Selenium-съвместим API. Това ръководство обяснява как Appium работи, стъпки за инсталиране, инспекторът, прикачен файл за емулатор и Java Тестов случай с калкулатор.
Какво е Appium?
Appium е свободно разпространявано мобилно приложение с отворен код и потребителски интерфейс тестване рамка. Appium Позволява тестване на нативни, хибридни и уеб приложения и поддържа автоматизация както на физически устройства, така и на емулатори и симулатори. Предлага тестване на приложения на различни платформи — един API работи и за двете. Android и тестови скриптове за iOS.
Appium има Не. зависимост от операционната система на мобилното устройство. Рамката обгръща и превежда Selenium Команди на WebDriver в UIAutomation (iOS) или UIAutomator (Android) команди в зависимост от типа на устройството, а не от версията на операционната система.
Appium поддържа всеки език, който има Selenium клиентски библиотеки — Java, Objective-C, JavaСценарий с Node.js, PHP, Ruby, Python, C#, И още.
Как Appium Работа?
- Appium е HTTP сървър, написан на Node.js платформа, която управлява iOS и Android сесии, използващи протокола WebDriver JSON. Node.js трябва да бъде предварително инсталиран на системата преди стартиране Appium сървър.
- Кога Appium се изтегля и инсталира, на локалната машина се настройва сървър, който предоставя REST API.
- Сървърът приема заявки за връзка и команди от клиента и изпълнява командите на мобилно устройство (Android или iOS).
- Отговаря с HTTP отговори. За да изпълнява заявки, Appium извиквания към оригинални рамки за мобилна автоматизация за управление на потребителския интерфейс на приложението:
- Apple Instruments за iOS (Инструментите са налични само в Xcode 3.0 или по-нова версия с OS X v10.5 и по-нова версия).
- Google UIAutomator за Android API ниво 16 или по-високо.
- Selendroid за Android API ниво 15 или по-ниско.
Предварителни условия за употреба Appium
- Инсталирайте Android SDK (Студио) [връзка].
- Инсталирайте JDK (Java Комплект за разработка) [връзка].
- Инсталирайте Eclipse [връзка].
- Инсталирайте TestNG за Eclipse [връзка].
- Инсталирайте Selenium Сървър JAR [връзка].
- Appium Клиентска библиотека [връзка].
- Информация за APK приложението on Google Пусни [връзка].
- Node.js (не е строго задължително — когато Appium Сървърът е инсталиран, Node.exe и NPM са включени в пакета с текущата Appium версия).
- Инсталирайте Appium работен плот.
Инсталирайте Appium работен плот
Appium Desktop е графично приложение с отворен код, което инсталира и изпълнява Appium Сървър. Той се предлага с всички необходими предварителни изисквания за използване на Appium Сървър и се доставя с Инспектор, който показва основна информация за вашите приложения, и Рекордер, който генерира шаблонен код, автоматизиращ мобилните приложения.
Стъпка 1) Отиди http://appium.io/ и щракнете върху Изтегляне Appium.
Стъпка 2) За Windows, изберете .exe файла и го изтеглете. Файлът е около 162 MB и ще отнеме време за изтегляне в зависимост от скоростта на интернет връзката ви.
Стъпка 3) Щракнете върху изтегления .exe файл.
Стъпка 4) На Windows машина, няма инсталационен съветник — Appium стартира директно от .exe файла. След като щракнете върху .exe, следното съобщение се появява за няколко минути.
За macOS, трябва да инсталирате .dmg файла.
Стъпка 5) Отваря се прозорецът „Стартиране на сървъра“. Той попълва хоста и порта по подразбиране (които можете да промените) и показва Appium версията в употреба.
Стъпка 6) Кликнете Стартиране на сървъраНов сървър се стартира на посочения хост и порт, а изходът от лога на сървъра се появява в конзолата.
Стъпка 7) Кликнете Нов прозорец за сесия.
Стъпка 8) Въведете желаните възможности и започнете сесия.
Appium Инспектор
Подобно на Selenium IDE инструмент за запис и възпроизвеждане, Appium има Инспектор за записване и възпроизвеждане на тестове. Той записва и възпроизвежда поведението на оригиналното приложение, като проверява DOM и генерира тестови скриптове на всеки поддържан език. Обърнете внимание, че Appium Инспекторът не се поддържа на Microsoft Windows: На Windows то стартира Appium Сървър, но не успява да инспектира елементи. UIAutomator Viewer е препоръчителният резервен вариант за инспектиране на елементи на Windows.
Стъпки за започване Appium Инспектор на Mac машина:
Стъпка 1) Изтеглете и започнете своя Appium сървър, използващ IP адреса по подразбиране 0.0.0.0 и порта 4725.
- Изберете изходния файл или .app файла от локалния ви диск за тестване.
- Поставете отметка в квадратчето „Път на приложението“, за да активирате бутона „Избор“.
Стъпка 2) Щракнете върху бутона „Избор“, за да прегледате и изберете тестовия файл от локалното устройство.
Стъпка 3) Стартирайте iOS симулатора на Mac машината.
Стъпка 4) Щракнете върху Стартиране бутон в горния десен ъгъл. Това активира синя икона — щракнете върху тази икона, за да отворите Appium Инспекторът и симулаторът с предварително избраното приложение.
Стъпка 5) Веднъж пуснат, Appium Инспекторът показва йерархията на елементите в колонна структура. Потребителят може също да прилага действия като докосване, плъзгане и подобни жестове.
Стъпка 6) Кликнете Спиране за край на записа.
Прикачете Android Емулатор към Appium
Стъпка 1) Инсталирайте Android SDK на вашата система.
Отворете Контролен панел > Система и сигурност > Система. От левия панел щракнете върху Допълнителни системни настройкиВ изскачащия прозорец „Свойства на системата“ щракнете върху Подробно и след това Променливи на околната среда.
Стъпка 2) От изскачащия прозорец „Променливи на средата“ щракнете двукратно върху Път и задайте ANDROID_HOME променлива, която да сочи към вашата SDK директория. Добавете пълния път до папката на SDK. Например:
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Стъпка 3) Започнете Android емулатор или прикачете Android устройството към вашата система. Уверете се, че USB debugging е активиран на Android устройство: отидете в Настройки на устройството > Опции за разработчици > активирайте „USB отстраняване на грешки“.
Стъпка 4) Отворете командния ред и отидете до Android SDK-ове \platform-tools\ указател (напр. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Стъпка 5) Стартирайте adb devices команда. Свързаното ви устройство ще се появи в прозореца на командния ред. Пълният вид е: adb -s emulator-5554 install <Location of .apk file>.
Стъпка 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) Създайте малка тестова програма за Калкулатор.приложение което сумира две числа.
package src_Appium;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.*;
public class Calculator {
WebDriver driver;
@BeforeClass
public void setUp() throws MalformedURLException {
// Set up desired capabilities and pass the Android app activity and package to Appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("BROWSER_NAME", "Android");
capabilities.setCapability("VERSION", "4.4.2");
capabilities.setCapability("deviceName", "Emulator");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.calculator2");
// Package name of the app (get it from an APK info app)
capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
// Launcher activity of the app (get it from an APK info app)
// Create a RemoteWebDriver instance and connect to the Appium server
// Launches the Calculator app on the Android device using the capabilities above
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void testCal() throws Exception {
// Locate the keys on the calculator by name
WebElement two = driver.findElement(By.name("2"));
two.click();
WebElement plus = driver.findElement(By.name("+"));
plus.click();
WebElement four = driver.findElement(By.name("4"));
four.click();
WebElement equalTo = driver.findElement(By.name("="));
equalTo.click();
// Locate the calculator output by tag name
WebElement results = driver.findElement(By.tagName("EditText"));
// Check the calculated value on the edit box
assert results.getText().equals("6") :
"Actual value is : " + results.getText() + " did not match with expected value: 6";
}
@AfterClass
public void teardown() {
// Close the app
driver.quit();
}
}
Стартирайте Appium Сървърът и Android Емулатор от AVD Manager, след което щракнете върху Изпълни > TestNGПрограмата изпълнява Calculator.app на избрания емулатор и резултатът се показва в Eclipse конзола, използваща TestNG рамка.
Ограничения на Appium
- Appium не поддържа тестване на Android версии по-ниски от 4.2.
- Ограничена поддръжка за тестване на хибридни приложения — например, не е възможно да се тества превключването между уеб изглед и нативен изглед в която и да е посока.
- Няма поддръжка за бягане Appium Инспектор на Microsoft Windows.
Често срещани грешки и стъпки за отстраняване на неизправности в Appium
| грешка | Стъпки за отстраняване на неизправности |
|---|---|
| грешка: Следните желани възможности са необходими, но не са предоставени: deviceName, platformName | Добавете желаните възможности deviceName намлява platformName към Appium скрипт. Например: capabilities.setCapability("deviceName", "Emulator"); намлява capabilities.setCapability("platformName", "Android"); |
| грешка: Не може да се намери adb. Моля, задайте променливата на средата ANDROID_HOME с Android Път на основната директория на SDK. | Задайте главната директория на SDK в системните променливи на средата под записа „Път“. |
| грешка: org.openqa.selenium.SessionNotCreatedException: Не можа да бъде създадена нова сесия. | Задайте правилния път до приложението и рестартирайте Appium сървър. |
| Как да намеря DOM елемент или XPath в мобилно приложение? | Използвайте UIAutomator Viewer, за да проверите DOM елементите за Android приложения. |
















