appium tutorial testing android
Sådan installeres og opsættes Appium på Windows med det første program for at få en kickstart på Appium:
Appium er en open source test automatiseringsværktøj anvendes til teste mobile applikationer . Det giver brugerne mulighed for at teste forskellige typer mobilapplikationer (såsom Native, Hybrid og Mobile Web) ved hjælp af standard WebDriver-bibliotek.
Der er tre typer mobilapps:
- Hjemmehørende: Indfødte apps bygget ved hjælp af iOS, Android eller Windows SDK'er. De er platformsspecifikke. De er bygget til at arbejde på en platform og / eller enhed.
- Hybrid: Hybride apps er webapplikationer, der er udviklet ved hjælp af HTML, CSS og indpakning af en oprindelig applikation oven på UIWebView til iOS og 'webview' til Android Apps.
- Mobile webapps: Mobile webapps er de apps, der er adgang til ved hjælp af mobile browsere.
Liste over selvstudier i denne Appium-serie
Tutorial # 1: Appium-tutorial til begyndere (denne tutorial)
Tutorial # 2: Introduktion til Appium: Hvad er Appium og dets arkitektur
Tutorial # 3: Download, installer og opsæt appium til Windows
Tutorial # 4: Konfiguration af mobilenhed med system i appium
Tutorial # 5: Automatiser Native App på Android-enhed ved hjælp af Appium
Tutorial # 6: Sådan automatiseres webapp på Chrome-browser på Android-enhed
Hvad du lærer:
- Hvorfor er Appium et populært værktøj til automatisering af mobilapps?
- Opsætning af Appium-værktøjet i Windows
- Opsætning af appium med formørkelse IDE
- Begrænsninger fra tidligere epoker
- Udfordringer, når du arbejder med Appium
- Konklusion
Hvorfor er Appium et populært værktøj til automatisering af mobilapps?
Appium er et 'platformoverskridende værktøj', dvs. det giver dig mulighed for at skrive tests på flere platforme (iOS, Android, Windows) ved hjælp af de samme API'er. Ved brug af appium , kører du også automatiserede tests på faktiske enheder som tablets, mobiltelefoner osv.
Det er mest meget brugt værktøj til regressionstest af Mobile Apps på mobiltelefoner og tablets. Appium gør mobilapps regressionstest let; især til store mobilapps, der opdateres ofte med nye funktioner og funktioner.
Opsætning af Appium-værktøjet i Windows
Forudsætninger: Dette er en liste over software og hardware, der kræves til automatisering af en mobilapptest ved hjælp af Appium:
- Din pc skal have JDK, Appium Server, Eclipse, Android SDK installeret
- Apk: Mobilapplikation skal automatiseres i vores Case ContactManager.apk
- Testenhed: I dette tilfælde Moto G
- Krukker: Java-klient krukker og Selen krukker.
- USB-driver til test af enhed: I dette tilfælde Moto G
Trin 1: Installer Java Development Kit ( JDK )
Trin # 2: Opsæt Java Miljøvariabel sti
Trin # 3: Download og installer Android SDK her og opdater API'erne
For at opdatere API, Åbn Eclipse -> Klik på Window i Eclipse Menu og -> Vælg Android SDK manager
Opdater API'erne som vist i nedenstående skærmbillede:
Trin # 4: Nu skal vi installere Appium til Windows. Gå her og download Appium til Windows.
Trin # 5: Jeg nstall Node JS herfra: Node JS download
Trin # 6: Indstil ANDROID_HOME sti såvel som JAVA_HOME sti
Angiv stien til værktøjer og platformværktøj, der findes i Android SDK-stien.
Disse mapper ville være til stede i adt-bundle-windows-x86_64-20140702 sdk
Nu skal vi opdatere miljøvariablen (se nedenstående skærmbillede)
(Bemærk:Klik på et hvilket som helst billede for at se et forstørret billede)
Opdater sti med værktøjer og platformværktøjer (mappe til stede i Android SDK).
Posten i Sti vil se ud som nedenfor:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Trin # 7: Få adgang til ADB
Tryk på kombinationen Win + R-taster
Type CMD . Nu i CMD type ' adb '. adb vil være tilgængelig
Forberedelse af mobilenhed til automatisering med Appium
Tilslut din mobile testenhed via USB til pc. Aktivér udviklertilstand på mobiltelefonen, inden du automatiserer appen.
Trin til aktivering af udviklertilstand / indstillinger på Android-telefon eller -tablet:
1) Åbn Indstillinger, tryk på 'Om' mulighed, tryk på 'Softwareoplysninger', tryk på 'Mere'.
2) Tryk på 'Byg nummer' 7 gange for at aktivere udviklerindstillinger.
3) Gå tilbage til Indstillinger, og sørg for, at indstillingen 'Udviklerindstillinger' er der.
4) Tryk på Udviklerindstillinger og tænd for USB-fejlretningsindstillingen fra menuen på den næste skærm.
For mere hjælp følg dette link .
5) Download og installer USB-drivere til mobiltestningsenheden på pc.
6) I ADB-terminal type 'ADB-enheder'
C: Brugere NEERAJ> ADB-enheder
Liste over tilsluttede enheder
TA93305G0L enhed
Dette viser listen over enheder, der er tilsluttet systemet. Vi bruger App Contact Manager.apk som en app til at automatisere. Download og installer Kontakt Manager.apk på enheden.
Start af automatisering af Android-appen ved hjælp af Appium
Kør nu appium.exe på pc.
Appium skal køre og videregive følgende parametre og enhedsnavn i Android-indstillinger.
Bemærk: Du må ikke ændre portnummer eller andet i ikonet for generel indstilling. Når Appium Server starter, indstilles serveradressen såvel som portadressen som standard. Portadressen er som standard 4723
I Android-indstilling skal brugeren indstille APK-stien, hvor APK-enheden er placeret, Kontroller app-sti, pakke og starte aktivitet.
- Tilslut din Android-telefon til pc og tænd USB-fejlretningstilstand.
- Åbn kommandoprompt.
- Skriv kommando ADB logcat .
- Åbn appen på din Android-telefon. Tryk straks på CTRL + C i kommandoprompt
com.eksempel.android.contactmanager er pakkenavn og com.eksempel.android.contactmanager.ContactManager er aktivitetsnavnet på Contact Manager-appen.
I ovenstående skærmbillede har vi udfyldt alle de nødvendige oplysninger i Appium dvs. pakken, lanceringsaktivitet, Navn på mobil enhed.
Sådan finder du element ved hjælp af UIAutomatorViewer?
1) For at automatisere appen først skal vi finde de elementer i appen, som vi skal interagere med
til det vil vi bruge UIAutomatorViewer
2) Tilslut den enhed, hvor appen er installeret, til pc'en
3) Gå til Terminal.
Type 'Adb-enheder'
C: Brugere NEERAJ> ADB-enheder
Liste over tilsluttede enheder
TA93305G0L enhed
Dette viser listen over enheder, der er tilsluttet din pc.
4) Åbn den app, som du vil automatisere i mobilenhed.
5) Åben UIAutomatorViewer og gå til den følgende vej
adt-bundle-windows-x86_64-20140702 sdk værktøjer
6) Så sørg for, at din app er startet og UIAutomaterViewer startes, klik på skærmbillede på enhed.
7) Denne mulighed tager skærmbilledet af appen med alle detaljerede oplysninger om alle de elementer, der er synlige i appen.
Klik på knappen Tilføj kontakt for vores testscenarie
hvordan man åbner en torrentfil på windows
Fra ovenstående skærmbillede kan vi bruge locator By.name (“Tilføj kontakt”)
Fra ovenstående skærmbillede kan vi tage By.className (“android.widget.EditText”)) som vores lokalisator for kontaktnavn
By.name (“Gem”) kan bruges som vores locator for Save Button
Første program til automatisering af en app i appium
Kør nedenstående script, Contact Manager-applikationen startes på den rigtige enhed, og alle logfiler vises i Appium-konsollen, der viser dig alle de handlinger, der bliver påkaldt af ovenstående script.
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 } }
Opsætning af appium med formørkelse IDE
Software krævet til Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Krukker: java-client-krukker og Selen-krukker.
- Apk: Ansøgning skal automatiseres
- Rigtig enhed: I dette tilfælde SAMSUNG Note3
- USB-driver til ægte enhed: I dette tilfælde SAMSUNG Kies
Trin 1: Installer Java Development Kit (JDK)
Trin 2: Opsætning Java-miljøvariabel sti
Gå til terminalen og skriv:
Åbn .bash_profile
Indstil stien ANDROID_HOME såvel som JAVA_HOME-stien
Trin 3: Installer Android SDK / ADB på MAC
Vi har brug for at installere værktøjer, ekstraudstyr og tilsvarende API-niveaupakker (i dette tilfælde Android 4.4.2 API 19).
(Bemærk:Klik på et hvilket som helst billede for at se et forstørret billede)
Trin 4: Download og epoker installere server
Note 1: Ingen grund til at indstille noget i ikonet for generel indstilling. Når Appium Server er installeret, indstilles serveradressen såvel som portadressen som standard. Portadressen bliver 4723. Brugeren kan ændre serveradressen, hvis det kræves.
Note 2: I Android-indstilling skal brugeren indstille APK-stien, hvor APK-enheden er placeret, Kontroller app-sti, pakke og starte aktivitet.
Sådan finder du. Apk-filpakke navn og Launcher-aktivitetsnavn:
Der er så mange måder at finde ud af pakke navn og Launcher Activity Name af en applikation. Her bruges terminal til at hente pakke- og launcher-aktivitetsnavnet.
Gå til terminalen og skriv:
aapt dump badging
Tryk på 'Enter' for nedenstående skærmbillede:
Hvis en bruger angiver pakkenavn i Appium Server, skal du starte Launcher Activity Name og vente på, at Activity names vises automatisk.
I dette tilfælde er Launcher Activity Name:
' com.amazon.mShop.android.home.HomeActivity. ”
Trin til at aktivere udviklertilstand / indstillinger på Android-telefon eller -tablet
Trin 1:Aktivér udviklerindstillinger
1) Tryk på Hovedmenu ikon.
2) Gå til Indstillinger .
3) Rul ned til ' Om telefonen 'Og tryk på det.
4) Rul ned til bunden, tryk på ' Bygge nummer' Syv (7) gange . ( Dit build-nummer kan variere ). Efter det tredje tryk kan brugeren se en legende dialog “ Du er udvikler ”. Bliv ved med at trykke, indtil dialogen vises.
5) Du kan bemærke udviklerindstillingerne på din skærm nu.
Trin 2:Tænd USB-fejlfinding
1) Gå til Udvikler muligheder .
to ) Vælg USB debugging .
3) Det viser muligvis Pop op besked, og hvis det gør det, skal du blot klik Okay .
Trin 3:Download og installer USB-driver til tilsvarende rigtige enheder. I dette tilfælde SAMSUNG Kies.
Sådan finder du element ved hjælp af UIAutomatorViewer?
1) Det første trin inden du finder et element på enheden er at forbinde enheden til computeren.
Følg nedenstående trin for at kontrollere enhedens tilslutning:
- Gå til Terminal .
- Skriv ' ADB-enheder ''
Dette viser listen over enheder, der er tilsluttet systemet.
2) På den rigtige enhed skal du åbne den app, der skal automatiseres (her er amazon-appen automatiseret)
3) Gå til følgende bibliotek for at åbne UIAutomatorViewer :
Brugere -> Bibliotek -> Android -> SDK -> værktøjer -> uiautomatorviewer.bat
TIDLIGERE: brugere / bikram.badatya / Bibliotek / Android / sdk / værktøj /
4) Klik på i UIAutomatorViewer Enheds skærmbillede .
5) Ved at klikke Enheds skærmbillede, enhedens billede sammen med den detaljerede information vises i venstre side af UIAutomator-vinduet.
6) Når du klikker på et hvilket som helst element på siden, vises relevante oplysninger om dette element på højre side.
7) Klik på Hovedmenu for at få vist alle egenskaber.
Appium Test til lancering af Amazon App
1) Start Appium Server.
2) Android-indstillinger.
3) Generelle indstillinger for serveradresse og portadresse:
4) Klik på startknappen .
Kodestykke for at starte Amazon-applikation:
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 AndroidDriverNår ovenstående script udføres, startes Amazon-applikationen på den rigtige enhed, og en liste over meddelelser vises i Appium-konsollen.
Vigtige kommandoer
1) For at dræbe adb-server:
adb kill-server
2) Sådan startes adb-server:
adb start-server
3) For at indstille JAVA_Home-sti også ANDROID_Home-sti
åben .bash_profile
4) For at få pakkenavn og android Launcher-navn i apk (anden måde)
aapt dump badging .apk navn
Tidligere- aapt dump badging
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) For at installere apk i ægte enhed
adb installere .apk navn
6) For at afinstallere apk i ægte enhed
adb afinstallere
Tidligere - adb afinstallere com.amazon.mShop.android
Begrænsninger fra tidligere epoker
- Det understøtter ikke Android API-niveau mindre end 17
- Toast-meddelelser understøttes ikke
- Scriptudførelse på IOS-platformen er meget langsom
- Gestus support er begrænset
Udfordringer, når du arbejder med Appium
# 1) For at få navnet på launcher-aktiviteten, som kræves for at starte applikationen, kan mange metoder følges, som en ekstra apk med navnet “apkInfo” skal installeres, visse kodelinjer skal skrives osv. Men i dette dokument, følgende kommando bruges til at få navnet på launcher-aktiviteten.
dvs. aapt dump badging .apk navn
#to) Under opsætningen i Android SDK manager skal vi fokusere på følgende pakker, der skal afinstalleres. Ellers starter applikationen ikke
# 3) Især på MAC er vi nødt til at konfigurere Java_HomePath og Android HomePath i .bash_profile, så det ikke er nødvendigt at konfigurere igen og igen.
# 4) At starte applikationen ved hjælp af en emulator bruger mere tid sammenlignet med en rigtig enhed. Derfor anbefales det at bruge en rigtig enhed.
Konklusion
Med nye tendenser og mere efterspørgsel efter mobilapps migrerer alle større virksomheder for at få deres forretning til mobilapps. For at frigive mobilapps af høj kvalitet er automatiseringstest af mobilapps den nyeste trend i branchen.
Appium er på grund af sin enkelhed og brugervenlighed et af de førende og mest anvendte værktøjer over hele kloden til automatiseringstest af mobile apps til iOS eller Android.
Om forfatteren: Dette indlæg er skrevet af STH-teammedlem Neeraj. Han er en lidenskabelig softwaretester, der i øjeblikket arbejder som Senior Software Development Engineer i Test og nyder at teste web- og mobilapplikationer.
Tjek her for at læse mere om Mobil automatisering ved hjælp af Appium Studio-værktøjet.
Anbefalet læsning
- Mobile UI Testing Tutorial (GUI Testing of iOS and Android Apps)
- TOPP 15 Bedste mobile testværktøjer i 2021 til Android og iOS
- Mobile App Beta Testing Services (iOS og Android Beta Testing Tools)
- Hvorfor mobil test er hård?
- Tilslutning af ægte iOS- og Android-enheder fra Cloud til Appium Studio
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Tutorials til test af mobilapps (En komplet guide med 30+ tutorials)
- Sådan får du et mobilt testjob hurtigt - Karrierevejledning til mobil test (del 1)