appium tutorial testing android
Com instal·lar i configurar Appium al Windows amb el primer programa per començar a iniciar Appium:
Appium és un codi obert eina d'automatització de proves usat per provant aplicacions mòbils . Permet als usuaris provar diversos tipus d'aplicacions mòbils (com ara Native, Hybrid i Mobile Web) mitjançant la biblioteca estàndard de WebDriver.
Hi ha tres tipus d’aplicacions per a mòbils:
- Nadiu: Aplicacions natives construïdes amb SDK per a iOS, Android o Windows. Són específics de la plataforma. Estan construïts per treballar en una plataforma i / o dispositiu.
- Híbrid: Les aplicacions híbrides són aplicacions web desenvolupades mitjançant HTML, CSS i l’embolcall d’una aplicació nativa a la part superior d’UIWebView per a iOS i “webview” per a les aplicacions d’Android.
- Aplicacions web per a mòbils: Les aplicacions web per a mòbils són les aplicacions a les quals s’accedeix mitjançant navegadors mòbils.
Llista de tutorials d'aquesta sèrie Appium
Tutorial # 1: Tutorial d'Appium per a principiants (aquest tutorial)
Tutorial # 2: Introducció a Appium: què és Appium i la seva arquitectura
Tutorial # 3: Descarregueu, instal·leu i configureu Appium per al Windows
Tutorial # 4: Configuració del dispositiu mòbil amb el sistema a Appium
Tutorial # 5: Automatitzeu l'aplicació nativa en dispositius Android mitjançant Appium
Tutorial # 6: Com automatitzar l'aplicació web al navegador Chrome en dispositius Android
Què aprendreu:
- Per què Appium és una eina popular per automatitzar les aplicacions mòbils?
- Configuració de l'eina Appium al Windows
- Configureu Appium amb IDE Eclipse
- Limitacions d’èpoques anteriors
- Desafiaments al treballar amb Appium
- Conclusió
Per què Appium és una eina popular per automatitzar les aplicacions mòbils?
Appium és una 'eina multiplataforma', és a dir, que permet escriure proves en diverses plataformes (iOS, Android, Windows) mitjançant les mateixes API. Utilitzant appium , també feu proves automàtiques en dispositius reals com tauletes, telèfons mòbils, etc.
És el més eina àmpliament utilitzada per a proves de regressió d'aplicacions mòbils en telèfons mòbils i tauletes. Appium facilita les proves de regressió d'aplicacions mòbils; especialment, per a aplicacions mòbils grans que s’actualitzen amb freqüència amb noves funcions i funcions.
Configuració de l'eina Appium al Windows
Requisits previs: Aquesta és una llista curta de programari i maquinari necessaris per automatitzar una prova d'aplicacions mòbils mitjançant Appium:
- El vostre PC hauria de tenir instal·lat JDK, Appium Server, Eclipse i Android SDK
- Apk: L’aplicació mòbil s’automatitzarà al nostre Case ContactManager.apk
- Dispositiu de prova: En aquest cas Moto G
- Pots: Pots Java-client i Selenium Jars.
- Controlador USB per al dispositiu de prova: En aquest cas Moto G
Pas 1: Instal·leu el kit de desenvolupament de Java ( JDK )
Pas 2: Configureu Java Camí variable d'entorn
Pas 3: Descarregueu i instal·leu l'SDK d'Android aquí i actualitzeu les API
Per actualitzar l'API, Obriu Eclipse -> Feu clic a Finestra al menú Eclipse i -> Seleccioneu el gestor SDK d'Android
Actualitzeu les API com es mostra a la captura de pantalla següent:
Pas 4: Ara hem d’instal·lar Appium per a Windows. Vaja aquí i descarregar Appium per a Windows.
Pas 5: Jo nstall Node JS des d'aquí: Descàrrega del node JS
Pas 6: Estableix el fitxer ANDROID_HOME camí així com JAVA_HOME Camí
Especifiqueu el camí per a eines i eines de plataforma presents al camí de l'SDK d'Android.
Aquestes carpetes estarien presents a adt-bundle-windows-x86_64-20140702 sdk
Ara hem d’actualitzar la variable d’entorn (consulteu la captura de pantalla següent)
(Nota:Feu clic a qualsevol imatge per ampliar-la)
Actualitzeu el camí amb eines i eines de plataforma (carpeta present a l'SDK d'Android).
L'entrada a Path es mostrarà a continuació:
C: Program Files nodejs ;% ANDROID_HOME% tools;% ANDROID_HOME% platform-tools
Pas 7: accediu a adb
Premeu la combinació de tecles Win + R
Tipus CMD . Ara a CMD escriviu ‘ adb ’. adb serà accessible
Preparació de dispositius mòbils per a l'automatització amb Appium
Connecteu el dispositiu Mobile Testing mitjançant USB a PC. Activeu el mode de desenvolupador al telèfon mòbil abans d'automatitzar l'aplicació.
Passos per activar el mode / opcions de desenvolupador al telèfon o a la tauleta Android:
1) Obriu Configuració, toqueu l'opció 'Quant a', toqueu 'Informació del programari', toqueu 'Més'.
2) Toqueu 'Construeix el número' 7 vegades per activar les opcions de desenvolupador.
3) Torneu a Configuració i assegureu-vos que hi hagi l'opció 'Opcions de desenvolupador'.
4) Toqueu Opcions per a desenvolupadors i activeu l'opció de depuració d'USB al menú de la pantalla següent.
Per obtenir més ajuda, seguiu això enllaç .
5) Descarregueu i instal·leu controladors USB per al dispositiu Mobile Testing al PC.
6) Al terminal adb, escriviu 'dispositius adb'
C: Usuaris NEERAJ> dispositius adb
Llista de dispositius adjunts
Dispositiu TA93305G0L
Es mostrarà la llista de dispositius connectats al sistema. Utilitzarem App Contact Manager.apk com a aplicació de mostra per automatitzar. Baixeu-lo i instal·leu-lo Poseu-vos en contacte amb Manager.apk al dispositiu.
Començar a automatitzar l'aplicació d'Android mitjançant Appium
Ara executeu el fitxer appium.exe a l'ordinador.
Appium ha d’executar-se i passar els paràmetres i el nom del dispositiu següents a la configuració d’Android.
Nota: No canvieu el número de port ni res a la icona de configuració general. Quan s'iniciï Appium Server, l'adreça del servidor, així com l'adreça del port, s'establiran per defecte. Per defecte, l'adreça del port serà 4723
A Configuració d'Android, l'usuari ha d'establir el camí de l'APK on es troba l'APK, comprovar el camí de l'aplicació, empaquetar-lo i iniciar Activitat.
- Connecteu el telèfon Android a l'ordinador i activeu el mode de depuració USB.
- Obre el símbol del sistema.
- Escriviu l'ordre adb logcat .
- Obriu l'aplicació al telèfon Android. Premeu immediatament CTRL + C a l'indicador d'ordres
com.example.android.contactmanager és el nom del paquet i com.example.android.contactmanager.ContactManager és el nom de l'activitat de l'aplicació Contact Manager.
A la captura de pantalla anterior, hem omplert tota la informació necessària al paquet Appium i.e, activitat de llançament, Nom del dispositiu mòbil.
Com localitzar l'element mitjançant UIAutomatorViewer?
1) Per automatitzar l'aplicació en primer lloc, haurem de trobar els elements de l'aplicació que haurem d'interactuar
per a això, utilitzarem UIAutomatorViewer
2) Connecteu el dispositiu en què s’instal·la l’aplicació a l’ordinador
3) Aneu a Terminal.
Tipus 'Dispositius adb'
C: Usuaris NEERAJ> dispositius adb
Llista de dispositius adjunts
Dispositiu TA93305G0L
Es mostrarà la llista de dispositius connectats al vostre PC.
4) Obriu l'aplicació que vulgueu automatitzar al dispositiu mòbil.
5) Obert UIAutomatorViewer i aneu al següent camí
adt-bundle-windows-x86_64-20140702 sdk tools
6) Per tant, assegureu-vos que la vostra aplicació s'iniciï i UIAutomaterViewer es fa clic a la captura de pantalla del dispositiu.
7) Aquesta opció capturarà la captura de pantalla de l'aplicació amb tota la informació detallada de tots els elements visibles a l'aplicació.
Feu clic al botó Afegeix contacte per al nostre escenari de prova
la millor aplicació per espiar un altre telèfon
Des de la captura de pantalla anterior, podem utilitzar el localitzador By.name ('Afegeix contacte')
Des de la captura de pantalla de sobre, podem prendre By.className ('android.widget.EditText')) com a localitzador del nom de contacte
By.name ('Desa') es pot utilitzar com a localitzador del botó Desa
Primer programa per automatitzar una aplicació a Appium
Executeu el següent script, l’aplicació Contact Manager s’iniciarà al dispositiu real i tots els registres es mostraran a la consola Appium que us mostrarà totes les accions que s’invocaran per l’escript anterior.
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 } }
Configureu Appium amb IDE Eclipse
Es requereix programari per a Appium :
- JDK, Appium Server, Eclipse, Android SDK
- Pots: pots de client java i pots de seleni.
- Apk: Aplicació per automatitzar
- Dispositiu real: En aquest cas, SAMSUNG Note3
- Controlador USB per a dispositius reals: En aquest cas, SAMSUNG Kies
Pas 1: Instal·leu el fitxer Kit de desenvolupament de Java (JDK)
Pas 2: Configuració Ruta variable de l'entorn Java
Aneu al terminal i escriviu:
Obriu .bash_profile
Establiu el camí ANDROID_HOME i el camí JAVA_HOME
Pas 3: Instal·leu l'SDK d'Android / ADB al MAC
Hem d’instal·lar eines, extres i els paquets de nivell API corresponents (en aquest cas Android 4.4.2 API 19).
(Nota:Feu clic a qualsevol imatge per ampliar-la)
Pas 4: Descarregar i servidor d’instal·lació d’èpoques
Nota 1: No cal establir res a la icona de configuració general. Quan Appium Server estigui instal·lat, l'adreça del servidor i la direcció del port s'establiran per defecte. L'adreça del port serà 4723. L'usuari pot canviar l'adreça del servidor si és necessari.
Nota 2: A Configuració d'Android, l'usuari ha d'establir el camí de l'APK on es troba l'APK, comprovar el camí de l'aplicació, empaquetar-lo i iniciar Activitat.
Com es pot trobar el nom del paquet de fitxers .Apk i el nom de l'activitat del llançador:
Hi ha moltes maneres d’esbrinar el nom del paquet i el nom de l’activitat del llançador d’una aplicació. Aquí es fa servir el terminal per obtenir el nom de l'activitat del paquet i del llançador.
Aneu al terminal i escriviu:
insígnia de bolcat aapt
Feu clic a 'Retorn' a la pantalla següent:
Si un usuari especifica el nom del paquet a Appium Server, llavors Nom d'activitat del llançador, espereu que els noms de les activitats es mostrin automàticament.
En aquest cas, el nom de l'activitat del llançador és:
' com.amazon.mShop.android.home.HomeActivity '.
Passos per activar el mode / opcions de desenvolupador al telèfon o a la tauleta Android
Pas 1:Activeu les opcions de desenvolupador
1) Toqueu el botó Menú principal icona.
2) Anar a Configuració .
3) Desplaceu-vos cap avall fins a ' Sobre el telèfon 'I toca-hi.
4) Desplaceu-vos cap avall fins a la part inferior, toqueu ' Número de compilació ' Set (7) vegades . ( El número de compilació pot variar ). Després del tercer toc, l'usuari pot veure un diàleg lúdic ' Sou un desenvolupador ”. Continueu tocant fins que es mostri el diàleg.
5) Ara podeu veure les opcions del desenvolupador a la pantalla.
Pas 2:Activeu la depuració USB
1) Anar a Opcions de desenvolupament .
2 ) Seleccioneu Depuració USB .
3) Pot mostrar el fitxer Finestra emergent missatge i, si ho fa, simplement feu clic D'acord .
Pas 3:Descarregueu i instal·leu el controlador USB per al dispositiu real corresponent. En aquest cas, SAMSUNG Kies.
Com localitzar l'element mitjançant UIAutomatorViewer?
1) El primer pas abans de localitzar qualsevol element al dispositiu és connectar el dispositiu a l’ordinador.
Seguiu els passos següents per comprovar la connectivitat del dispositiu:
- Anar a terminal .
- Escriviu ‘ dispositius adb '
Es mostrarà la llista de dispositius connectats al sistema.
2) Al dispositiu real, obriu l'aplicació que s'ha d'automatitzar (aquí l'aplicació amazon està automatitzada)
3) Aneu al directori següent per obrir-lo UIAutomatorViewer :
Usuaris -> Biblioteca -> android -> sdk -> eines -> uiautomatorviewer.bat
EX: users / bikram.badatya / Library / Android / sdk / tool /
4) A UIAutomatorViewer, feu clic a Captura de pantalla del dispositiu .
5) En fer clic Captura de pantalla del dispositiu, la imatge del dispositiu juntament amb la informació detallada es mostrarà a la part esquerra de la finestra UIAutomator.
6) En fer clic a qualsevol element de la pàgina, es mostrarà informació rellevant sobre aquest element a la part dreta.
7) Feu clic al botó Menú principal per mostrar totes les propietats.
Prova Appium per llançar l'aplicació Amazon
1) Inicieu el servidor Appium.
2) Configuració d'Android.
3) Configuració general per a l'adreça del servidor i l'adreça del port:
4) Feu clic al botó d'inici .
Fragment de codi per iniciar l'aplicació 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 AndroidDriverQuan s'executa l'script anterior, l'aplicació Amazon s'iniciarà al dispositiu real i es mostrarà una llista de missatges a la consola Appium.
Ordres importants
1) Per matar el servidor ADB:
adb kill-server
2) Per iniciar el servidor ADB:
servidor d’inici adb
3) Per definir també el camí JAVA_Home ANDROID_Home Path
obriu un perfil .bash
4) Per obtenir el nom del paquet i el nom del llançador d'Android a l'apk (d'una altra manera)
aapt dump badging .apk nom
ex insígnia de bolcat aapt
/users/bikram.badatya/Library/Android/sdk/platform-tools/Amazon.apk
5) Per instal·lar apk en un dispositiu real
adb install nom .apk
6) Per desinstal·lar apk en un dispositiu real
desinstal·lar adb
ex - adb desinstal·lar com.amazon.mShop.android
Limitacions d’èpoques anteriors
- No admet el nivell de l'API d'Android inferior a 17
- Els missatges de pa torrat no són compatibles
- L’execució de scripts a la plataforma IOS és molt lenta
- El suport als gestos és limitat
Desafiaments al treballar amb Appium
# 1) Per obtenir el nom de l’activitat del llançador, que és necessari per iniciar l’aplicació, es poden seguir molts mètodes, com ara que s’ha d’instal·lar un apk addicional anomenat “apkInfo”, s’ha d’escriure certes línies de codi, etc. Però, en aquest document, s'utilitza l'ordre següent per obtenir el nom de l'activitat del llançador.
és a dir, aapt dump badging .apk nom
# 2) Durant la configuració al gestor SDK d'Android, ens hem de centrar en els següents paquets que s'han de desinstal·lar. En cas contrari, l'aplicació no s'iniciarà

# 3) Especialment a MAC, hem de configurar Java_HomePath i Android HomePath a .bash_profile perquè no sigui necessari configurar-ho una i altra vegada.
# 4) El llançament de l’aplicació mitjançant un emulador consumeix més temps en comparació amb un dispositiu real. Per tant, es recomana l’ús d’un dispositiu real.
Conclusió
Amb les tendències emergents i la demanda d’aplicacions per a mòbils, totes les empreses principals estan migrant per aconseguir el seu negoci en aplicacions per a mòbils. Per tant, per llançar aplicacions mòbils de qualitat, les proves d'automatització d'aplicacions mòbils són l'última tendència del sector.
Appium, per la seva senzillesa i facilitat d'ús, és un dels eines més importants i utilitzats a tot el món per provar l'automatització d'aplicacions mòbils per a iOS o Android.
Sobre l'autor: Aquest post està escrit pel membre de l'equip de STH, Neeraj. Actualment és un apassionat provador de programari que treballa com a enginyer sènior de desenvolupament de programari en proves i li agrada provar aplicacions web i mòbils.
Consulteu aquí per obtenir més informació Automatització mòbil mitjançant l'eina Appium Studio.
Lectura recomanada
- Tutorial de proves de la interfície d'usuari mòbil (proves GUI d'aplicacions per a iOS i Android)
- TOP 15 de les millors eines de proves mòbils el 2021 per a Android i iOS
- Serveis de proves beta d'aplicacions mòbils (eines de prova beta per a iOS i Android)
- Per què les proves per a mòbils són difícils?
- Connexió de dispositius Android i iOS reals des del núvol a Appium Studio
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- Tutorials de proves d'aplicacions mòbils (una guia completa amb més de 30 tutorials)
- Com obtenir una feina ràpida de proves de mòbils: Guia professional de proves de mòbils (primera part)