Appium Урок за начинаещи

⚡ Умно обобщение

Appium Урок за Android и тестването на мобилни приложения за iOS въвежда рамка за автоматизация на потребителския интерфейс с отворен код, която управлява нативни, хибридни и уеб приложения на двете платформи с едно единствено... Selenium-съвместим API. Това ръководство обяснява как Appium работи, стъпки за инсталиране, инспекторът, прикачен файл за емулатор и Java Тестов случай с калкулатор.

  • 📱 Основна дефиниция: Appium е рамка с отворен код за автоматизация на мобилен потребителски интерфейс, която поддържа нативни, хибридни и уеб приложения в Android и iOS чрез един API.
  • 🔌 Модел на HTTP сървър: Appium работи като Node.js HTTP сървър, който преобразува WebDriver JSON командите в специфични за платформата автоматизирани повиквания.
  • 🧰 Инструментален стек: Необходимите предпоставки включват Android SDK, JDK, Eclipse, TestNG, Selenium JAR на сървъра, Appium клиентска библиотека и Appium Desktop.
  • 🔍 Инспектор и протоколист: Appium Инспекторът проверява йерархиите на елементите и генерира шаблонни скриптове, докато UIAutomator Viewer е Windows резервен вариант.
  • Java Тестов работен процес: Използвайте DesiredCapabilities, RemoteWebDriver и TestNG анотации за стартиране и валидиране на native Android приложения като Калкулатора.

Appium Урок за Android и тестване на мобилни приложения за iOS

Какво е 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

  1. Инсталирайте Android SDK (Студио) [връзка].
  2. Инсталирайте JDK (Java Комплект за разработка) [връзка].
  3. Инсталирайте Eclipse [връзка].
  4. Инсталирайте TestNG за Eclipse [връзка].
  5. Инсталирайте Selenium Сървър JAR [връзка].
  6. Appium Клиентска библиотека [връзка].
  7. Информация за APK приложението on Google Пусни [връзка].
  8. Node.js (не е строго задължително — когато Appium Сървърът е инсталиран, Node.exe и NPM са включени в пакета с текущата Appium версия).
  9. Инсталирайте Appium работен плот.

Инсталирайте Appium работен плот

Appium Desktop е графично приложение с отворен код, което инсталира и изпълнява Appium Сървър. Той се предлага с всички необходими предварителни изисквания за използване на Appium Сървър и се доставя с Инспектор, който показва основна информация за вашите приложения, и Рекордер, който генерира шаблонен код, автоматизиращ мобилните приложения.

Стъпка 1) Отиди http://appium.io/ и щракнете върху Изтегляне Appium.

Appium страница за изтегляне от официалния сайт

Стъпка 2) За Windows, изберете .exe файла и го изтеглете. Файлът е около 162 MB и ще отнеме време за изтегляне в зависимост от скоростта на интернет връзката ви.

Изберете Windows Appium Инсталатор на настолни компютри

Стъпка 3) Щракнете върху изтегления .exe файл.

бягане Appium Изпълним инсталатор за десктоп

Стъпка 4) На Windows машина, няма инсталационен съветник — Appium стартира директно от .exe файла. След като щракнете върху .exe, следното съобщение се появява за няколко минути.

Appium Анимация за зареждане на работния плот

За macOS, трябва да инсталирате .dmg файла.

Стъпка 5) Отваря се прозорецът „Стартиране на сървъра“. Той попълва хоста и порта по подразбиране (които можете да промените) и показва Appium версията в употреба.

Appium Стартов прозорец на сървъра с хост и порт

Стъпка 6) Кликнете Стартиране на сървъраНов сървър се стартира на посочения хост и порт, а изходът от лога на сървъра се появява в конзолата.

Appium Изход от лог сървъра след стартиране

Стъпка 7) Кликнете Нов прозорец за сесия.

Отвори нов прозорец за сесия в Appium работен плот

Стъпка 8) Въведете желаните възможности и започнете сесия.

Въведете желаните възможности, за да започнете Appium сесия

Appium Инспектор

Подобно на Selenium IDE инструмент за запис и възпроизвеждане, Appium има Инспектор за записване и възпроизвеждане на тестове. Той записва и възпроизвежда поведението на оригиналното приложение, като проверява DOM и генерира тестови скриптове на всеки поддържан език. Обърнете внимание, че Appium Инспекторът не се поддържа на Microsoft Windows: На Windows то стартира Appium Сървър, но не успява да инспектира елементи. UIAutomator Viewer е препоръчителният резервен вариант за инспектиране на елементи на Windows.

Стъпки за започване Appium Инспектор на Mac машина:

Стъпка 1) Изтеглете и започнете своя Appium сървър, използващ IP адреса по подразбиране 0.0.0.0 и порта 4725.

  1. Изберете изходния файл или .app файла от локалния ви диск за тестване.
  2. Поставете отметка в квадратчето „Път на приложението“, за да активирате бутона „Избор“.

Стъпка 2) Щракнете върху бутона „Избор“, за да прегледате и изберете тестовия файл от локалното устройство.

Appium Избор на път за приложение на инспектор на Mac

Стъпка 3) Стартирайте iOS симулатора на Mac машината.

Стъпка 4) Щракнете върху Стартиране бутон в горния десен ъгъл. Това активира синя икона — щракнете върху тази икона, за да отворите Appium Инспекторът и симулаторът с предварително избраното приложение.

Стартиране Appium Инспектор със симулатор на iOS

Стъпка 5) Веднъж пуснат, Appium Инспекторът показва йерархията на елементите в колонна структура. Потребителят може също да прилага действия като докосване, плъзгане и подобни жестове.

Appium Изглед на йерархията на елементите на инспектора

Стъпка 6) Кликнете Спиране за край на записа.

Прикачете Android Емулатор към Appium

Стъпка 1) Инсталирайте Android SDK на вашата система.

Отворете Контролен панел > Система и сигурност > Система. От левия панел щракнете върху Допълнителни системни настройкиВ изскачащия прозорец „Свойства на системата“ щракнете върху Подробно и след това Променливи на околната среда.

Отворете променливите на средата на Windows

Стъпка 2) От изскачащия прозорец „Променливи на средата“ щракнете двукратно върху Път и задайте ANDROID_HOME променлива, която да сочи към вашата SDK директория. Добавете пълния път до папката на SDK. Например:

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Задайте ANDROID_HOME в променливите на средата

Стъпка 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>.

Изходът на командата adb devices, показващ свързан емулатор

Стъпка 6) Стартирайте adb start-server команда. ADB сървърът стартира и Appium ще го използва, за да изпраща команди до вашия Android устройство.

Стъпка 7) Придвижете се до Appium директория на вашата система и стартирайте Appium като кликнете върху Appium.exe файл.

Стъпка 8) Не променяйте IP адреса или номера на порта по подразбиране. Кликнете Стартиране, Вашият Appium Конзолата започва от 127.0.0.1:4723, както е показано по-долу.

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

  1. Appium не поддържа тестване на Android версии по-ниски от 4.2.
  2. Ограничена поддръжка за тестване на хибридни приложения — например, не е възможно да се тества превключването между уеб изглед и нативен изглед в която и да е посока.
  3. Няма поддръжка за бягане 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 приложения.

Въпроси и Отговори

Selenium автоматизира уеб браузърите; Appium автоматизира мобилните приложения. Appium използва повторно протокола WebDriver, така че Selenium потребителите го възприемат бързо, но Appium също така задвижва нативни, хибридни и мобилни уеб приложения на Android и iOS чрез специфични за платформата автоматизирани двигатели.

Appium поддържа всеки език, който има Selenium Клиент на WebDriver, включително Java, Python, JavaСкрипт с Node.js, Ruby, C#, PHP и Objective-C. Това прави Appium адаптивен към различни инженерни екипи, без да се налага промяна на езика.

Да. Appium тества нативни приложения, инсталирани на устройството, хибридни приложения с вградени уеб изгледи и мобилни уеб приложения, които се изпълняват в Chrome или Safari. Един-единствен API, базиран на WebDriver, управлява и трите типа, което опростява поддръжката на тестове между платформи.

AI се подобрява Appium пакети чрез самовъзстановяващи се локатори, визуална валидация и генерирани от изкуствен интелект стъпки за тестване. AI двигателите откриват отклонение на локатора между актуализациите на приложенията, препоръчват стабилни XPath алтернативи и автоматично класифицират нестабилни тестове, така че инженерите да могат да се съсредоточат върху реални дефекти, а не върху поддръжката.

Да. Инструментите за мобилно тестване с изкуствен интелект анализират екраните на приложенията, идентифицират интерактивни елементи и генерират Appium скриптове с желаните възможности и локатори. След това тестерите преглеждат и усъвършенстват скриптовете, което намалява шаблонните шаблони и ускорява адаптацията за екипи, които са нови. Appium автоматизация.

Обобщете тази публикация с: