appium tutorial testing android
Kako namestiti in namestiti Appium v Windows s prvim programom, da začnete z Appiumom:
Appium je odprtokodna orodje za avtomatizacijo preskusov uporablja za testiranje mobilnih aplikacij . Uporabnikom omogoča testiranje različnih vrst mobilnih aplikacij (kot so Native, Hybrid in Mobile Web) s standardno knjižnico WebDriver.
Obstajajo tri vrste mobilnih aplikacij:
- Native: Izvorne aplikacije, izdelane z uporabo SDK-jev za iOS, Android ali Windows. So specifični za platformo. Izdelani so za delo na platformi in / ali napravi.
- Hibrid: Hibridne aplikacije so spletne aplikacije, razvite z uporabo HTML-ja, CSS-ja in ovojnice izvorne aplikacije na vrhu UIWebView za iOS in »webview« za aplikacije za Android.
- Mobilne spletne aplikacije: Mobilne spletne aplikacije so tiste, do katerih dostopate z mobilnimi brskalniki.
Seznam vadnic v tej seriji Appium
Vadnica št. 1: Appium Vadnica za začetnike (Ta vadnica)
Vadnica # 2: Uvod v Appium: Kaj je Appium in njegova arhitektura
Vadnica št. 3: Prenesite, namestite in namestite Appium za Windows
Vadnica # 4: Konfiguriranje mobilne naprave s sistemom v Appiumu
Vadnica št. 5: Avtomatizirajte izvorno aplikacijo v napravi Android z aplikacijo Appium
Vadnica # 6: Kako avtomatizirati spletno aplikacijo v brskalniku Chrome v napravi Android
Kaj se boste naučili:
- Zakaj je Appium priljubljeno orodje za avtomatizacijo mobilnih aplikacij?
- Nastavitev orodja Appium v sistemu Windows
- Nastavite Appium z Eclipse IDE
- Omejitve prejšnjih obdobij
- Izzivi pri delu z apijem
- Zaključek
Zakaj je Appium priljubljeno orodje za avtomatizacijo mobilnih aplikacij?
Appium je 'orodje za več platform', tj. Omogoča vam pisanje testov na več platformah (iOS, Android, Windows) z uporabo istih API-jev. Uporaba appium , izvajate tudi avtomatizirane teste na dejanskih napravah, kot so tablični računalniki, mobilni telefoni itd.
To je največ široko uporabljeno orodje za regresijsko testiranje mobilnih aplikacij na mobilnih telefonih in tabličnih računalnikih. Appium olajša testiranje regresije mobilnih aplikacij; zlasti za velike mobilne aplikacije, ki se pogosto posodabljajo z novimi funkcijami in funkcionalnostmi.
Nastavitev orodja Appium v sistemu Windows
Pogoji: To je ožji seznam programske in strojne opreme, ki je potrebna za avtomatizacijo testiranja mobilne aplikacije z Appiumom:
- V računalniku mora biti nameščen JDK, Appium Server, Eclipse, Android SDK
- Apk: Mobilna aplikacija bo avtomatizirana v našem primeru ContactManager.apk
- Preskusna naprava: V tem primeru Moto G
- Kozarci: Kozarci za odjemalce Java in kozarci Selenium.
- Gonilnik USB za preskusno napravo: V tem primeru Moto G
Korak 1: Namestite Java Development Kit ( JDK )
2. korak: Nastavite Java Okolje spremenljiva pot
3. korak: Prenesite in namestite Android SDK tukaj in posodobite API-je
Če želite posodobiti API, Odprite Eclipse -> V oknu Eclipse Menu kliknite Window in -> Izberite upravitelja SDK za Android
Posodobite API-je, kot je prikazano na spodnjem posnetku zaslona:
4. korak: Zdaj moramo namestiti Appium za Windows. Pojdi tukaj in naložite Appium za Windows.
5. korak: I nstall Node JS od tu: Prenos vozlišča JS
6. korak: Nastavite ANDROID_HOME pot pa tudi JAVA_HOME pot
Navedite pot do orodij in orodij platforme, ki so prisotni v poti SDK za Android.
Te mape bi bile prisotne v adt-sveženj-windows-x86_64-20140702 sdk
Zdaj moramo posodobiti spremenljivko Okolje (glejte spodnji posnetek zaslona)
(Opomba:Kliknite na poljubno sliko za povečan pogled)
Posodobite pot z orodji in orodji za platformo (mapa v Android SDK).
Vnos v poti bo videti spodaj:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
7. korak: Dostop do adb
Pritisnite kombinacijo tipk Win + R
Tip CMD . Zdaj v CMD vtipkajte adb ’. adb bo dostopen
Priprava mobilne naprave za avtomatizacijo z Appiumom
Povežite svojo mobilno preskusno napravo prek USB-ja z računalnikom. Pred avtomatizacijo aplikacije omogočite način za razvijalce v mobilnem telefonu.
Koraki za omogočanje načina / možnosti za razvijalce v telefonu ali tabličnem računalniku Android:
1) Odprite nastavitve, tapnite možnost »Vizitka«, tapnite »Informacije o programski opremi«, tapnite »Več«.
dva) 7-krat se dotaknite »Številka gradnje«, da omogočite možnosti za razvijalce.
3) Vrnite se v Nastavitve in se prepričajte, da je na voljo nastavitev »Možnosti za razvijalce«.
4) Dotaknite se možnosti za razvijalce in v meniju na naslednjem zaslonu vklopite možnost odpravljanja napak USB.
Za več pomoči sledite temu povezava .
5) Prenesite in namestite gonilnike USB za mobilno preskusno napravo v računalnik.
6) V terminalu adb tipa „naprave adb“
C: Uporabniki NEERAJ> naprave adb
Seznam priloženih naprav
Naprava TA93305G0L
Prikaže se seznam naprav, povezanih s sistemom. App Contact Manager.apk bomo uporabili kot vzorčno aplikacijo za avtomatizacijo. Prenesite in namestite Obrnite se na Manager.apk na napravi.
Zagon avtomatizacije aplikacije Android s programom Appium
Zdaj zaženite appium.exe na računalniku.
Appium mora biti zagnan in v nastavitvah Android prenesti naslednje parametre in ime naprave.
Opomba: Ne spreminjajte številke vrat ali česar koli v ikoni splošne nastavitve. Ko se zažene Appium Server, se privzeto nastavi naslov strežnika in naslov vrat. Naslov vrat bo privzeto 4723
V nastavitvah Android mora uporabnik nastaviti pot do APK-ja, kjer se nahaja APK, preveriti pot do aplikacije, paket in zagnati dejavnost.
- Telefon Android povežite z računalnikom in vklopite način za odpravljanje napak USB.
- Odprite ukazni poziv.
- Vnesite ukaz adb logcat .
- Odprite aplikacijo na telefonu Android. Takoj pritisnite CTRL + C v ukaznem pozivu
com.example.android.contactmanager je ime paketa in com.example.android.contactmanager.ContactManager je ime dejavnosti aplikacije Contact Manager.
V zgornji posnetek zaslona smo vse potrebne podatke vnesli v paket Appium, tj., Zagon, ime mobilne naprave.
Kako najti element z uporabo UIAutomatorViewer?
1) Za avtomatizacijo aplikacije moramo najprej najti elemente aplikacije, s katerimi bomo morali sodelovati
za to bomo uporabili UIAutomatorViewer
dva) Napravo, v kateri je nameščena aplikacija, povežite z računalnikom
3) Pojdite do terminala.
Tip „Naprave adb“
C: Uporabniki NEERAJ> naprave adb
Seznam priloženih naprav
Naprava TA93305G0L
Prikaže se seznam naprav, povezanih z računalnikom.
4) Odprite aplikacijo, ki jo želite avtomatizirati v mobilni napravi.
5) Odprto UIAutomatorViewer in pojdite na naslednjo pot
adt-bundle-windows-x86_64-20140702 sdk tools
6) Torej, poskrbite, da se vaša aplikacija zažene in UIAutomaterViewer kliknite na zaslon naprave.
7) Ta možnost bo posnela posnetek zaslona aplikacije z vsemi podrobnimi informacijami o vseh elementih, ki so vidni v aplikaciji.
Za testni scenarij kliknite gumb Dodaj stik
kako odpreti datoteko .air
Iz zgornjega posnetka zaslona lahko uporabimo lokator By.name (»Dodaj stik«)
Zgoraj posnetek zaslona lahko kot naš lokator za ime stika vzamemo By.className (“android.widget.EditText”)).
By.name ('Shrani') se lahko uporablja kot naš lokator za gumb Shrani
Prvi program za avtomatizacijo aplikacije na Appiumu
Zaženite spodnji skript, aplikacija Contact Manager se bo zagnala v resnični napravi in vsi dnevniki bodo prikazani v konzoli Appium, ki prikazuje vsa dejanja, ki jih prikliče zgornji skript.
importjava.io.File; importjava.net.MalformedURLException; import java.net.URL; importjava.util.List; importorg.openqa.selenium.By; importorg.openqa.selenium.WebDriver; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.remote.CapabilityType; importorg.openqa.selenium.remote.DesiredCapabilities; importorg.openqa.selenium.remote.RemoteWebDriver; importorg.testng.annotations.*; public class appium { WebDriver driver; @BeforeClass public void setUp() throws Exception { //location of the app File app = new File('C:\Users\NEERAJ\Downloads', 'ContactManager.apk'); //To create an object of Desired Capabilities DesiredCapabilities capability = new DesiredCapabilities(); //OS Name capability.setCapability('device','Android'); capability.setCapability(CapabilityType.BROWSER_NAME, ''); //Mobile OS version. In My case its running on Android 4.2 capability.setCapability(CapabilityType.VERSION, '4.2'); capability.setCapability('app', app.getAbsolutePath()); //To Setup the device name capability.setCapability('deviceName','Moto G'); capability.setCapability('platformName','Android'); //set the package name of the app capability.setCapability('app-package', 'com.example.android.contactmanager-1'); //set the Launcher activity name of the app capability.setCapability('app-activity', '.ContactManager'); //driver object with new Url and Capabilities driver = new RemoteWebDriver(new URL('http://127.0.0.1:4723/wd/hub'), capability); } @Test public void testApp() throws MalformedURLException{ System.out.println('App launched'); // locate Add Contact button and click it WebElementaddContactButton = driver.findElement(By.name('Add Contact')); addContactButton.click(); //locate input fields and type name and email for a new contact and save it ListtextFields = driver.findElements(By.className('android.widget.EditText')); textFields.get(0).sendKeys('Neeraj Test'); textFields.get(1).sendKeys('9999999999'); textFields.get(2).sendKeys('testemail@domain.com'); driver.findElement(By.name('Save')).click(); //insert assertions here } }
Nastavite Appium z Eclipse IDE
Programska oprema, potrebna za Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Kozarci: java-client kozarci in kozarci Selenium.
- Apk: Vloga za avtomatizacijo
- Prava naprava: V tem primeru SAMSUNG Note3
- Gonilnik USB za resnično napravo: V tem primeru SAMSUNG Kies
Korak 1: Namestite Komplet za razvoj Java (JDK)
2. korak: Nastaviti Spremenljiva pot Java okolja
Pojdite na terminal in vnesite:
Odprite .bash_profile
Nastavite pot ANDROID_HOME in pot JAVA_HOME
3. korak: Namestite Android SDK / ADB na MAC
Namestiti moramo orodja, dodatke in ustrezne pakete ravni API (v tem primeru Android 4.4.2 API 19).
(Opomba:Kliknite na poljubno sliko za povečan pogled)
4. korak: Prenesite in namestite strežnik
Opomba 1: V ikoni splošnih nastavitev ni treba ničesar nastaviti. Ko je nameščen Appium Server, bo privzeto nastavljen naslov strežnika in naslov vrat. Naslov vrat bo 4723. Uporabnik lahko po potrebi spremeni naslov strežnika.
Opomba 2: V nastavitvah Android mora uporabnik nastaviti pot do APK-ja, kjer se nahaja APK, preveriti pot do aplikacije, paket in zagnati dejavnost.
Kako najti ime paketa datotek .Apk in ime aktivnosti zaganjalnika:
Obstaja toliko načinov, kako ugotoviti ime paketa in ime aktivnosti zaganjalnika aplikacije. Tu se terminal uporablja za pridobitev imena aktivnosti paketa in zaganjalnika.
Pojdite na terminal in vnesite:
aapt smetišče
Pritisnite 'Enter' za spodnji zaslon:
Če uporabnik v strežniku Appium določi ime paketa, potem ime aktivnosti zaganjalnika počakajte, da se imena dejavnosti samodejno prikažejo.
V tem primeru je ime aktivnosti zaganjalnika:
' com.amazon.mShop.android.home.HomeActivity. '
Koraki za omogočanje načina / možnosti za razvijalce v telefonu ali tabličnem računalniku Android
Korak 1:Omogočite možnosti za razvijalce
1) Dotaknite se Glavni meni ikono.
dva) Pojdi do Nastavitve .
3) Pomaknite se navzdol do O telefonu ‘In tapnite po njem.
4) Pomaknite se navzdol na dno in tapnite Številka gradnje ’ Sedem (7) krat . ( Vaša številka gradnje se lahko razlikuje ). Po tretjem dotiku lahko uporabnik vidi igrivo pogovorno okno » Ste razvijalec '. Dotaknite se, dokler se ne prikaže pogovorno okno.
5) Zdaj lahko na zaslonu opazite možnosti za razvijalce.
2. korak:Vklopite odpravljanje napak USB
1) Pojdi do Možnosti razvijalca .
dva ) Izberite USB razhroščevanje .
3) Prikaže se lahko Pojavno okno sporočilo in če se, preprosto kliknite v redu .
3. korak:Prenesite in namestite gonilnik USB za ustrezno napravo. V tem primeru SAMSUNG Kies.
Kako najti element z uporabo UIAutomatorViewer?
1) Prvi korak pred iskanjem katerega koli elementa v napravi je povezava naprave z računalnikom.
Za preverjanje povezljivosti naprave sledite spodnjim korakom:
- Pojdi do Terminal .
- Vnesite ‘ naprave adb '
Prikaže se seznam naprav, povezanih s sistemom.
dva) Na pravi napravi odprite aplikacijo, ki mora biti avtomatizirana (tukaj je aplikacija Amazon samodejna)
3) Odprite naslednji imenik UIAutomatorViewer :
Uporabniki -> Knjižnica -> android -> sdk -> orodja -> uiautomatorviewer.bat
BIVŠA: users / bikram.badatya / Library / Android / sdk / tool /
4) V UIAutomatorViewer kliknite Posnetek zaslona naprave .
5) Ob kliku Posnetek zaslona naprave, slika naprave skupaj s podrobnimi informacijami bo prikazana na levi strani okna UIAutomator.
6) Ko kliknete kateri koli element na strani, bodo ustrezne informacije o tem elementu prikazane na desni strani.
7) Kliknite na Glavni meni gumb za prikaz vseh lastnosti.
Appium Test za zagon aplikacije Amazon
1) Zaženite strežnik Appium.
2) Nastavitve za Android.
3) Splošne nastavitve za naslov strežnika in naslov vrat:
4) Kliknite gumb za zagon .
Delček kode za zagon aplikacije Amazon:
package com.AppiumDemo; //Library to create the path to APK import java.io.File; //Library used to verify if URL is malformed import java.net.MalformedURLException; //Library used to create URL for the Appium server import java.net.URL; import java.util.concurrent.TimeUnit; //Libraries for import selenium WebDriver import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; //Libraries for configuring Desired Capabilities import org.openqa.selenium.remote.DesiredCapabilities; //Library for import TestNG import org.testng.annotations.Test; //Libraries for import Appium Drivers import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; public class LauchAmazon { private static AndroidDriver driver; //static WebDriver driver; @Test public void setup() throws MalformedURLException, InterruptedException{ // Path to File appDir = new File('//Users//bikram.badatya//Library//Android//sdk//platform-tools//'); //Path to to Amazon apk File> File app = new File(appDir, 'Amazon.apk'); //To create an object of Desired Capabilities DesiredCapabilities capabilities = new DesiredCapabilities(); //To set Command Timeout in appium server.Its optional you can set in appium Server itself. capabilities.setCapability('no',true); capabilities.setCapability('newCommandTimeout', 100000); // Name of the OS: Android, iOS or FirefoxOS capabilities.setCapability('platformName', 'Android'); //set the name of the connected device.you have to give same name in both server and the code capabilities.setCapability('deviceName','41001fd89730a000'); //Mobile OS version. My device is running Android 4.4.2 capabilities.setCapability('AndroidVersion','4.4.2'); //set the package name of the app capabilities.setCapability('appPackage', 'com.amazon.mShop.android'); //set the Launcher activity name of the app capabilities.setCapability ('appActivity','com.amazon.mShop.android.home.HomeActivity'); // Name of mobile web browser to automate. It should be an empty string, as we are automation an app. capabilities.setCapability('browserName', ''); //driver object with new Url and Capabilities driver = new AndroidDriverKo se zgornji skript zažene, se aplikacija Amazon zažene na resnični napravi in seznam sporočil se prikaže v konzoli Appium.
Pomembni ukazi
1) Če želite ubiti strežnik adb:
adb kill-server
dva) Za zagon strežnika adb:
adb start-server
3) Če želite nastaviti tudi pot JAVA_Home ANDROID_Home
odprite .bash_profile
4) Če želite v paketu apk dobiti ime paketa in ime zaganjalnika Android (drug način)
aapt dump badging .apk ime
Nekdanji- aapt smetišče
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Če želite namestiti apk v resnično napravo
adb install .apk ime
6) Če želite odstraniti apk v resnični napravi
adb odstraniti
Nekdanji - adb uninstall com.amazon.mShop.android
Omejitve prejšnjih obdobij
- Ne podpira ravni Android API manj kot 17
- Napečena sporočila niso podprta
- Izvajanje skript na platformi IOS je zelo počasno
- Podpora s kretnjami je omejena
Izzivi pri delu z apijem
# 1) Če želite dobiti ime aktivnosti zaganjalnika, ki je potrebno za zagon aplikacije, je mogoče uporabiti številne metode, kot da je treba namestiti dodaten apk z imenom 'apkInfo', napisati določene vrstice kode itd. Toda v tem dokumentu naslednji ukaz se uporablja za pridobitev imena aktivnosti zaganjalnika.
tj. aapt dump badging .apk ime
#two) Med namestitvijo v upravitelju SDK za Android se moramo osredotočiti na naslednje pakete, ki jih je treba odstraniti. V nasprotnem primeru se aplikacija ne bo zagnala

# 3) Še posebej na MAC moramo v .bash_profile nastaviti datoteko Java_HomePath in Android HomePath, tako da je ni treba znova in znova nastaviti.
# 4) Zagon aplikacije z uporabo emulatorja porabi več časa v primerjavi s pravo napravo. Zato je priporočljiva uporaba prave naprave.
Zaključek
Zaradi nastajajočih trendov in večjega povpraševanja po mobilnih aplikacijah se vsa večja podjetja selijo, da bi svoje podjetje začela uporabljati za mobilne aplikacije. Za izdajo kakovostnih mobilnih aplikacij je avtomatizirano testiranje mobilnih aplikacij najnovejši trend v industriji.
Appium je zaradi svoje enostavnosti in enostavnosti uporabe eno vodilnih in najpogosteje uporabljanih orodij po vsem svetu za avtomatizacijsko testiranje mobilnih aplikacij za iOS ali Android.
O avtorju: To objavo je napisal član ekipe STH Neeraj. Je strasten preizkuševalec programske opreme, ki trenutno deluje kot višji inženir za razvoj programske opreme v preizkusu in uživa v testiranju spletnih in mobilnih aplikacij.
Preberite tukaj, če želite prebrati več o tem Mobilna avtomatizacija z uporabo orodja Appium Studio.
Priporočeno branje
- Vadnica za testiranje mobilnega uporabniškega vmesnika (testiranje grafičnega uporabniškega vmesnika za iOS in Android)
- 15 najboljših orodij za mobilno testiranje v letu 2021 za Android in iOS
- Storitve beta testiranja mobilnih aplikacij (iOS in Android beta različici)
- Zakaj je mobilno testiranje težko?
- Povezovanje resničnih naprav iOS in Android iz oblaka v Appium Studio
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Vadnice za testiranje mobilnih aplikacij (popoln vodnik z več kot 30 vadnicami)
- Kako hitro dobiti službo za mobilno testiranje - karierni vodnik za mobilno testiranje (1. del)