introduction appium
Aquest tutorial explica què és Appium, la seva arquitectura, flux de treball i com utilitzar aquesta eina de codi obert per a l'automatització mòbil a Android i iOS:
Appium és una eina d’automatització mòbil de codi obert que proporciona automatització en plataformes com Android, iOS, etc.
També és compatible amb l'automatització mitjançant diversos llenguatges de programació com Java, PHP, Perl, Python, etc.Per tant, els usuaris poden utilitzar qualsevol llenguatge de programació amb què se sentin còmodes i escriure scripts automatitzats.
=> Mireu aquí la sèrie de formació Appium Simple.
Què aprendreu:
Què és Appium?
Aquí teniu un vídeo tutorial:
Visió general de les aplicacions
Totes les aplicacions es poden automatitzar, incloses les aplicacions natives, híbrides i web.A continuació es mostra una descripció simple de diversos tipus d’aplicacions.
- Aplicacions natives: Aquestes aplicacionss’escriuen amb SDK d’IOS, Android o Windows.Es pot accedir a aquests només després de la instal·lació al dispositiu. Per exemple, Skype, que només es pot utilitzar després de la instal·lació al dispositiu. No podem obrir l'aplicació mitjançant el navegador.
- Web Aplicacions: Aplicacions web per a mòbilses pot accedir mitjançant un navegador mòbil.Les aplicacions web només es poden accedir mitjançant el navegador. Per exemple, softwaretestinghelp.com només es pot accedir a través del navegador. No tenim cap aplicació independent disponible per al lloc web.
- Híbrid Aplicacions: Aquestsaplicacionstenir un embolcall al voltant d'una 'visualització web': un control natiu que permet la interacció amb el contingut web.Es poden instal·lar al dispositiu i accedir-hi mitjançant l'URL del navegador. Per exemple, Amazon es pot instal·lar com una aplicació independent al dispositiu i també s’hi pot accedir des del navegador Amazon.
El que és més important, aquesta eina és 'multiplataforma', que us permet escriure proves sobre diverses plataformes (iOS, Android, Windows) mitjançant la mateixa API. Això permet reutilitzar el codi entre dispositius iOS, Android i Windows.
Arquitectura d'èpoques
Es tracta d’un servidor HTTP escrit en llenguatge de programació Node.js que gestiona les sessions de WebDriver. El servidor Appium rep sol·licituds HTTP de les biblioteques de clients en format JSON. Les sol·licituds es gestionen de diferents maneres, en funció de la plataforma on s’executi.
Segueix l'arquitectura client-servidor. Hi ha 3 components inclosos:
- client appium
- servidor appium
- Dispositiu final
# 1) Client de Marcus
El codi amb script d’automatització és el que anomenem Appium Client.
el millor programari espia remot per a mòbils
El codi està escrit en qualsevol llenguatge de programació com PHP, Java, Phyton, etc. Aquest script d'automatització conté els detalls de configuració del dispositiu mòbil i de l'aplicació. Juntament amb això, s’escriptura la lògica / codi per executar els casos de prova de l’aplicació.
# 2) servidor d'època
El servidor Appium s’escriu amb el llenguatge de programació Node.js.Rep sol·licituds de connexió i ordres del client Appium en format JSON i executa aquesta ordre en dispositius mòbils. Cal instal·lar el servidor a la màquina i s'inicia abans d'invocar el codi d'automatització.
El servidor interactua amb diverses plataformes com iOS i Android. Crea una sessió per interactuar amb els dispositius finals de les aplicacions mòbils. És un servidor HTTP escrit en llenguatge de programació Node.js que llegeix les sol·licituds HTTP de les biblioteques client i les envia a la plataforma adequada.
Per iniciar el servidor, els usuaris han de descarregar la font o instal·lar-la directament des de Npm. També proporciona la versió GUI del servidor. El podeu descarregar des de l’Appium oficial lloc .
En el següent capítol, parlarem de la versió de la GUI amb més detall. Un dels majors avantatges d’aquesta eina és que el codi que utilitzeu per interactuar amb ella està escrit en molts idiomes com Java, C #, Ruby, Python, etc. ja que Appium és l’API REST.
com ordenar matrius a Java
# 3) Finalitzar el dispositiu
Es tracta sobretot d’un dispositiu mòbil en temps real o d’un emulador. El servidor Appium executa els scripts d'automatització al dispositiu final mitjançant les ordres del client.
El WorkFlow Of Appium Architecture
El client Appium que conté els detalls de configuració i l'script d'automatització dels casos de prova envia les ordres al servidor en format JSON. L'escriptura d'automatització es converteix en format JSON mitjançant fitxers jar integrats al client.
Aleshores, Appium Server reconeix l’ordre i estableix una connexió amb el dispositiu final corresponent. Un cop realitzada la connexió, provoca l'execució de casos de prova al dispositiu final. El dispositiu final respon a la sol·licitud en forma de HTTP a l'Appium.
Quan els casos de prova s'executen al dispositiu / emulador mòbil, s'emplena el registre de totes les accions realitzades al dispositiu / emulador.
Funcionament d'Appium a iOS
Aquesta eina utilitza l’API d’automatització UIA d’Apple per interactuar amb els elements d’interfície d’usuari de l’aplicació en un dispositiu iOS. UIAutomation és una biblioteca JavaScript proporcionada per Apple Company. Utilitza aquestes biblioteques per automatitzar les aplicacions a iOS.
Quan executem els scripts de prova, les ordres dels scripts de prova es prenen en forma de JSON mitjançant una sol·licitud HTTP al servidor Appium. El servidor envia l'ordre a aquests instruments i els instruments cerquen el fitxer bootstrap.js.
A continuació, aquestes ordres s’executen al fitxer bootstrap.js a l’entorn dels instruments iOS. Després de l'execució de l'ordre, el client envia el missatge (èxit / error) al servidor Appium amb els detalls de registre de l'ordre executada.
Funcionament d'Appium a Android
Appium utilitza el marc UIAutomator per interactuar amb els elements d’interfície d’usuari de l’aplicació en un dispositiu Android. UIAutomator és un marc desenvolupat pels desenvolupadors d'Android per provar la seva interfície d'usuari.
Aquí, en lloc de l'API UIAutomation, tal com hem vist a Apple, tenim un UIAutomator / Selendroid i bootstrap.jar en lloc del fitxer bootstrap.js. Admet totes les versions d'Android superiors o iguals a 17; per a versions anteriors d'Android, Appium utilitza el marc Selendroid.
Quan executem els scripts de prova, Appium envia l'ordre en format JSON a UIAutomator o Selendroid en funció de la versió d'Android. Aquí, bootstrap.jar actua com un servidor TCP, que podem utilitzar per enviar l’ordre test per executar l’acció al dispositiu Android mitjançant UIAutomator / Selendroid.
Conclusió
En aquest capítol, hem entès bàsicament Appium, que és l’Arquitectura, el flux de treball i el funcionament d’Appium a iOS / Android.
Al capítol següent, veurem com configurar Appium i altres programes bàsics que s’instal·laran per a Mobile Automation en dispositius reals.
Lectura recomanada
- Creeu proves Appium per a una aplicació d'Android
- Introducció a Appium Studio: avantatges i funcions clau
- Execució de les proves d'Appium en paral·lel mitjançant Appium Studio per a Eclipse
- Creació de proves d’època mitjançant epochs Studio for Eclipse
- Appium Studio per a Eclipse: automatització completa de Appium / Selenium des d’Eclipse
- Tutorial d'Appium per provar aplicacions mòbils Android i iOS
- Connexió de dispositius Android i iOS reals des del núvol a Appium Studio
- Creeu una prova Appium per a una aplicació per a iOS