Appium Udžbenik za početnike

⚡ Pametni sažetak

Appium Vodič za Android i testiranje mobilnih aplikacija za iOS predstavlja okvir za automatizaciju korisničkog sučelja otvorenog koda koji pokreće nativne, hibridne i web aplikacije na obje platforme s jednim Selenium-kompatibilan API. Ovaj vodič objašnjava kako Appium radovi, koraci instalacije, Inspector, prilog emulatora i Java Testni slučaj kalkulatora.

  • 📱 Osnovna definicija: Appium je okvir za automatizaciju mobilnog korisničkog sučelja otvorenog koda koji podržava nativne, hibridne i web aplikacije Android i iOS putem jednog API-ja.
  • 🔌 Model HTTP poslužitelja: Appium radi kao Node.js HTTP poslužitelj koji prevodi WebDriver JSON žičane naredbe u automatizacijske pozive specifične za platformu.
  • 🧰 Sklad alata: Obavezni preduvjeti uključuju Android SDK, JDK, Eclipse, TestNG, Selenium JAR poslužitelja, Appium klijentska knjižnica i Appium Desktop.
  • 🔍 Inspektor i zapisničar: Appium Inspector pregledava hijerarhije elemenata i generira standardne skripte, dok je UIAutomator Viewer Windows rezervni.
  • Java Tijek rada za testiranje: Koristite DesiredCapabilities, RemoteWebDriver i TestNG napomene za pokretanje i validaciju nativnih alata Android aplikacije poput Kalkulatora.

Appium Vodič za Android i testiranje mobilnih aplikacija za iOS

Što je Appium?

Appium je slobodno distribuirano korisničko sučelje mobilne aplikacije otvorenog koda testiranje okvir. Appium Omogućuje testiranje nativnih, hibridnih i web aplikacija te podržava automatizaciju na fizičkim uređajima, kao i na emulatorima i simulatorima. Nudi testiranje aplikacija na više platformi — jedan API radi za oboje Android i iOS testne skripte.

Appium ima Ne ovisnost o operativnom sustavu mobilnog uređaja. Okvir obavija i prevodi Selenium WebDriver naredbe u UIAutomation (iOS) ili UIAutomator (Android) naredbe ovisno o vrsti uređaja, a ne o verziji temeljnog operacijskog sustava.

Appium podržava svaki jezik koji postoji Selenium klijentske knjižnice — Java, Cilj-C, JavaScript s Node.js-om, PHP-om, Rubyjem, Python, C#, I više.

Kako Appium Raditi?

  • Appium je HTTP poslužitelj napisan na Node.js platforma koja pokreće iOS i Android sesije koristeći WebDriver JSON žični protokol. Node.js mora biti unaprijed instaliran na sustavu prije pokretanja Appium poslužitelj.
  • Kada Appium Nakon preuzimanja i instalacije, na lokalnom računalu se postavlja poslužitelj koji pruža pristup REST API-ju.
  • Poslužitelj prihvaća zahtjeve za povezivanje i naredbe od klijenta i izvršava naredbe na mobilnom uređaju (Android ili iOS).
  • Odgovara HTTP odgovorima. Za izvršavanje zahtjeva, Appium pozivi u izvorne okvire za mobilnu automatizaciju za pokretanje korisničkog sučelja aplikacije:
    • Apple Instruments za iOS (Instrumenti su dostupni samo u Xcode 3.0 ili noviji s OS X v10.5 i novijim).
    • Google UIAutomator za Android API razina 16 ili viša.
    • Selendroid za Android API razina 15 ili niža.

Preduvjeti za korištenje Appium

  1. Instalirati Android SDK (Studio) [Veza].
  2. Instalirati JDK (Java Razvojni komplet) [Veza].
  3. Instalirati Eclipse [Veza].
  4. Instalirati TestNG za Eclipse [Veza].
  5. Instalirati Selenium Poslužitelj JAR [Veza].
  6. Appium Knjižnica klijenata [Veza].
  7. Informacije o APK aplikaciji on Google Igraj [Veza].
  8. Node.js (nije strogo obavezno — kada Appium Server je instaliran, Node.exe i NPM su u paketu s trenutnim Appium verzija).
  9. Instalirati Appium desktop.

Instalirati Appium desktop

Appium Desktop je GUI aplikacija otvorenog koda koja instalira i pokreće Appium Server. Dolazi u paketu sa svim preduvjetima potrebnim za korištenje Appium Server, a dolazi s Inspektorom za prikaz osnovnih informacija o vašim aplikacijama i Recorderom za generiranje standardnog koda koji automatizira mobilne aplikacije.

Korak 1) Idi na http://appium.io/ i kliknite Preuzmi Appium.

Appium stranica za preuzimanje sa službene stranice

Korak 2) Za Windows, odaberite .exe datoteku i preuzmite je. Datoteka je velika oko 162 MB i preuzimanje će trajati neko vrijeme ovisno o brzini vaše internetske veze.

Odaberite Windows Appium Instalacijski program za stolna računala

Korak 3) Kliknite preuzetu .exe datoteku.

trčanje Appium Izvršni program za instalaciju na računalu

Korak 4) Na Windows stroj, nema čarobnjaka za instalaciju — Appium pokreće se izravno iz .exe datoteke. Nakon što kliknete na .exe, sljedeći splash se pojavljuje na nekoliko minuta.

Appium Animacija učitavanja na radnoj površini

Za macOS, morate instalirati .dmg datoteku.

Korak 5) Otvara se prozor Server Start. Popunjava zadani host i port (koje možete promijeniti) i prikazuje Appium verzija u upotrebi.

Appium Početni prozor poslužitelja s hostom i portom

Korak 6) Kliknite Pokreni poslužiteljNovi poslužitelj se pokreće na navedenom hostu i portu, a zapisnik poslužitelja pojavljuje se u konzoli.

Appium Izlaz zapisnika poslužitelja nakon pokretanja

Korak 7) Kliknite Novi prozor sesije.

Otvori novi prozor sesije u Appium desktop

Korak 8) Unesite željene mogućnosti i započnite sesiju.

Unesite željene sposobnosti za početak Appium Sjednica

Appium Inspektor

Slično kao i Selenium IDE alat za snimanje i reprodukciju, Appium ima Inspektor za snimanje i reprodukciju testova. Snima i reproducira ponašanje izvorne aplikacije pregledom DOM-a i generira testne skripte na bilo kojem podržanom jeziku. Imajte na umu da Appium Inspektor nije podržan na Microsoft Windows: uključeno Windows pokreće Appium Poslužitelj, ali ne uspijeva pregledati elemente. UIAutomator Viewer je preporučena rezervna opcija za pregled elemenata na Windows.

Koraci za početak Appium Inspektor na Mac računalu:

Korak 1) Preuzmite i pokrenite svoj Appium poslužitelj koristeći zadanu IP adresu 0.0.0.0 i port 4725.

  1. Odaberite izvornu datoteku ili .app datoteku s lokalnog diska za testiranje.
  2. Označite potvrdni okvir "Put aplikacije" kako biste omogućili gumb "Odaberi".

Korak 2) Kliknite gumb "Odaberi" za pregledavanje i odabir testne datoteke s lokalnog pogona.

Appium Odabir putanje aplikacije Inspector na Macu

Korak 3) Pokrenite iOS simulator na Mac računalu.

Korak 4) kliknite Lansirati gumb u gornjem desnom kutu. To omogućuje plavu ikonu — kliknite tu ikonu da biste otvorili Appium Inspektor i simulator s unaprijed odabranom aplikacijom.

Lansirati Appium Inspektor s iOS simulatorom

Korak 5) Nakon što je pokrenut, Appium Inspektor prikazuje hijerarhiju elemenata u stupčanoj strukturi. Korisnik također može primijeniti radnje poput dodira, prevlačenja i sličnih gesti.

Appium Prikaz hijerarhije elemenata inspektora

Korak 6) Kliknite zaustaviti za završetak snimanja.

Priložite Android Emulator za Appium

Korak 1) Instalirati Android SDK na vašem sustavu.

Otvorite Upravljačka ploča > Sustav i sigurnost > Sustav. Na lijevoj ploči kliknite Napredne postavke sistemaU skočnom prozoru Svojstva sustava kliknite napredan tabulator, a zatim Varijable okoline.

Otvori varijable okruženja na Windows

Korak 2) U skočnom prozoru Varijable okruženja dvaput kliknite Put i postavite ANDROID_HOME varijablu koja pokazuje na vaš SDK direktorij. Dodajte punu putanju SDK mape. Na primjer:

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

Postavite ANDROID_HOME u varijablama okruženja

Korak 3) Pokrenite Android emulator ili priložite Android uređaj na vaš sustav. Provjerite je li USB ispravljanje pogrešaka omogućeno na Android uređaj: idite na Postavke uređaja > Opcije za razvojne programere > omogućite "USB otklanjanje pogrešaka".

Korak 4) Otvorite naredbeni redak i idite do Android SDK-ovi \platform-tools\ imenik (npr. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Korak 5) Pokreni adb devices naredba. Vaš povezani uređaj pojavit će se na popisu u prozoru naredbenog retka. Puni oblik je: adb -s emulator-5554 install <Location of .apk file>.

Izlaz naredbe adb devices koji prikazuje povezani emulator

Korak 6) Pokreni adb start-server naredba. ADB poslužitelj se pokreće i Appium koristit će ga za slanje naredbi vašem Android uređaj.

Korak 7) Dođite na Appium direktorij na vašem sustavu i pokrenite Appium klikom na gumb Appium.exe datoteku.

Korak 8) Ne mijenjajte zadanu IP adresu ili broj porta. Kliknite Lansirati, vaš Appium Konzola počinje na 127.0.0.1:4723 kao što je prikazano dolje.

Appium konzola radi na 127.0.0.1:4723

Korak 9) Kliknite Start, Appium Poslužitelj sada radi na vašem sustavu.

Appium Testni slučaj za izvornog korisnika Android Aplikacija (Kalkulator)

Korak 1) Preuzmite ADT Eclipse dodatak ili preuzmite ADT paket zasebno od ovdje.

Korak 2) Otvoren Eclipse i stvorite novi Projekt > Paket > Klasa.

Korak 3) Uvezite Selenium knjižnica i TestNG u novi projekt.

Korak 4) Napravite mali testni program za Kalkulator.aplikacija koji zbraja dva broja.

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();
    }
}

Pokrenite Appium Poslužitelj i Android Emulator iz AVD Managera, a zatim kliknite Pokreni > TestNGProgram pokreće Calculator.app na odabranom emulatoru, a rezultat se prikazuje u Eclipse konzola pomoću TestNG okvir.

Ograničenja od Appium

  1. Appium ne podržava testiranje na Android verzije niže od 4.2.
  2. Ograničena podrška za testiranje hibridnih aplikacija - na primjer, nije moguće testirati prebacivanje između web prikaza i nativnog prikaza u bilo kojem smjeru.
  3. Nema podrške za trčanje Appium Inspektor na Microsoft Windows.

Uobičajene pogreške i koraci za rješavanje problema u Appium

greška Koraci za rješavanje problema
greška: Sljedeće željene mogućnosti su obavezne, ali nisu navedene: naziv_uređaja, naziv_platforme Dodajte željene mogućnosti deviceName i platformName prema Appium skripta. Na primjer: capabilities.setCapability("deviceName", "Emulator"); i capabilities.setCapability("platformName", "Android");
pogreška: nije moguće pronaći adb. Postavite varijablu okoline ANDROID_HOME s Android Putanja korijenskog direktorija SDK-a. Postavite korijenski direktorij SDK-a u sistemskim varijablama okruženja pod unosom Put.
greška: org.openqa.selenium.SessionNotCreatedException: Nova sesija nije mogla biti kreirana. Postavite ispravnu putanju aplikacije i ponovno pokrenite Appium poslužitelj.
Kako pronaći DOM element ili XPath u mobilnoj aplikaciji? Koristite UIAutomator Viewer za pregled DOM elemenata Android aplikacija.

Pitanja i odgovori

Selenium automatizira web preglednike; Appium automatizira mobilne aplikacije. Appium ponovno koristi WebDriver protokol tako da Selenium korisnici ga brzo prihvaćaju, ali Appium također pokreće nativne, hibridne i mobilne web aplikacije na Android i iOS putem automatizacijskih mehanizama specifičnih za platformu.

Appium podržava svaki jezik koji ima Selenium WebDriver klijent, uključujući Java, Python, JavaSkripta s Node.js, Ruby, C#, PHP i Objective-C. To čini Appium prilagodljiv različitim inženjerskim timovima bez prisilne promjene jezika.

Da. Appium testira izvorne aplikacije instalirane na uređaju, hibridne aplikacije s ugrađenim web prikazima i mobilne web aplikacije koje se izvode unutar Chromea ili Safarija. Jedan API temeljen na WebDriveru pokreće sve tri vrste, što pojednostavljuje održavanje testiranja na više platformi.

Umjetna inteligencija se poboljšava Appium pakete putem lokatora koji se sami obnavljaju, vizualne validacije i koraka testiranja generiranih umjetnom inteligencijom. AI mehanizmi otkrivaju pomicanje lokatora među ažuriranjima aplikacija, preporučuju stabilne XPath alternative i automatski klasificiraju nestabilne testove kako bi se inženjeri mogli usredotočiti na stvarne nedostatke, a ne na održavanje.

Da. Alati za testiranje mobilnih uređaja temeljeni na umjetnoj inteligenciji analiziraju zaslone aplikacija, identificiraju interaktivne elemente i generiraju Appium skripte sa željenim mogućnostima i lokatorima. Testeri zatim pregledavaju i poboljšavaju skripte, što smanjuje standardne zadatke i ubrzava uvođenje u posao za timove koji su novi. Appium automatizacija.

Sažmite ovu objavu uz: