introduction appium
Acest tutorial explică ce este Appium, arhitectura, fluxul de lucru și modul de utilizare a acestui instrument open-source pentru automatizarea mobilă pe Android și iOS:
Appium este un instrument open-source de automatizare mobilă care oferă automatizare pe platforme precum Android, iOS etc.
De asemenea, acceptă automatizarea utilizând mai multe limbaje de programare precum Java, PHP, Perl, Python etc.Astfel, utilizatorii pot folosi orice limbaj de programare cu care se simt confortabil și pot scrie scripturi automate.
=> Urmăriți aici seria de antrenament Appium.
Ce veți învăța:
Ce este Appium?
Iată un tutorial video:
Prezentare generală a aplicațiilor
Toate aplicațiile pot fi automatizate, inclusiv aplicații native, hibride și web.Mai jos este prezentată o prezentare simplă a diferitelor tipuri de aplicații.
- Aplicații native: Aceste aplicațiisunt scrise folosind SDK-uri iOS, Android sau Windows.Acestea pot fi accesate numai după instalarea în dispozitiv. De exemplu, Skype, care poate fi utilizat numai după instalarea în dispozitiv. Nu putem deschide aplicația prin browser.
- Web Aplicații: Aplicații web mobilepoate fi accesat folosind un browser mobil.Aplicațiile web pot fi accesate numai prin browser. De exemplu, softwaretestinghelp.com poate fi accesat numai prin browser. Nu avem o aplicație separată disponibilă pentru site.
- Hibrid Aplicații: Acesteaplicațiiaveți un înveliș în jurul unui „webview” - un control nativ care permite interacțiunea cu conținutul web.Acestea pot fi instalate în dispozitiv, precum și accesate prin URL-ul browserului. De exemplu, Amazon poate fi instalat ca o aplicație separată în dispozitiv și poate fi accesat, de asemenea, prin browser Amazon.
Mai important, acest instrument este „cross-platform” - care vă permite să scrieți teste pe mai multe platforme (iOS, Android, Windows), utilizând același API. Aceasta permite reutilizarea codului între dispozitivele iOS, Android și Windows.
Arhitectura epocilor
Acesta este un server HTTP scris în limbajul de programare Node.js care gestionează sesiunile WebDriver. Serverul Appium primește solicitări HTTP de la bibliotecile client în format JSON. Solicitările sunt apoi tratate în moduri diferite, în funcție de platforma pe care rulează.
Urmează Arhitectura Client-Server. Există 3 componente incluse în acesta:
- client appium
- server appium
- Dispozitiv final
# 1) Client Marcus
Codul cu scripturi de automatizare este ceea ce numim Appium Client.
c # concepte de programare orientate pe obiecte
Codul este scriptat în orice limbaj de programare precum PHP, Java, Phyton etc. Acest script de automatizare conține detaliile de configurare ale dispozitivului mobil și ale aplicației. Împreună cu aceasta, sunt scriptate logica / codul pentru a rula cazurile de test ale aplicației.
# 2) server de epoci
Serverul Appium este scris folosind limbajul de programare Node.js.Primește cereri de conexiune și comandă de la clientul Appium în format JSON și execută comanda pe dispozitive mobile. Serverul este necesar să fie instalat în aparat și este pornit înainte de a invoca codul de automatizare.
Serverul interacționează cu diverse platforme, cum ar fi iOS și Android. Se creează o sesiune pentru a interacționa cu dispozitivele finale ale aplicațiilor mobile. Este un server HTTP scris în limbajul de programare Node.js care citește cererile HTTP din bibliotecile client și trimite aceste solicitări către platforma corespunzătoare.
Pentru a porni serverul, utilizatorii trebuie să descarce sursa sau să o instaleze direct de pe Npm. De asemenea, oferă versiunea GUI a serverului. Puteți să-l descărcați din Appium oficial site .
În capitolul următor, vom discuta mai detaliat despre versiunea GUI. Unul dintre cele mai mari avantaje ale acestui instrument este că codul pe care îl utilizați pentru a interacționa cu acesta este scris în multe limbi, cum ar fi Java, C #, Ruby, Python etc., deoarece Appium este REST API în centrul său.
# 3) Dispozitiv final
Acesta este în mare parte un dispozitiv mobil în timp real sau un emulator. Scripturile de automatizare sunt executate pe dispozitivul final de către serverul Appium prin comenzile de la client.
WorkFlow Of Appium Architecture
Clientul Appium care deține detaliile de configurare și scriptul de automatizare pentru cazurile de test trimite comenzile către server în format JSON. Scriptul de automatizare este convertit în format JSON de fișiere jar încorporate în client.
care este cel mai bun sistem de operare pentru un laptop
Apoi Server apoi recunoaște comanda și stabilește o conexiune cu dispozitivul final corespunzător. Odată realizată conexiunea, aceasta declanșează executarea cazurilor de testare pe dispozitivul final. Dispozitivul final răspunde la cerere sub formă de HTTP către Appium.
Pe măsură ce cazurile de testare sunt executate în dispozitivul / emulatorul mobil, acesta completează jurnalul tuturor acțiunilor efectuate în dispozitiv / emulator.
Funcționarea Appium pe iOS
Acest instrument utilizează API-ul UIAutomation de la Apple pentru a interacționa cu elementele de interfață ale aplicației de pe un dispozitiv iOS. UIAutomation este o bibliotecă JavaScript furnizată de Apple Company. Folosește aceste biblioteci pentru a automatiza aplicațiile în iOS.
Când executăm scripturile de testare, comenzile din scripturile de testare sunt preluate sub formă de JSON printr-o cerere HTTP către serverul Appium. Serverul trimite comanda către aceste instrumente, iar instrumentele caută fișierul bootstrap.js.
Apoi, aceste comenzi sunt executate în fișierul bootstrap.js în mediul instrumentelor iOS. După executarea comenzii, clientul trimite înapoi mesajul (succes / eșec) către serverul Appium cu detaliile jurnalului comenzii executate.
Funcționarea Appium pe Android
Appium utilizează cadrul UIAutomator pentru a interacționa cu elementele UI ale aplicației pe un dispozitiv Android. UIAutomator este un cadru dezvoltat de dezvoltatorii Android pentru a-și testa interfața cu utilizatorul.
Aici, în loc de UIAutomation API așa cum am văzut în Apple, avem un UIAutomator / Selendroid și bootstrap.jar în locul fișierului bootstrap.js. Acceptă toate versiunile Android care sunt mai mari sau egale cu 17; pentru versiunile anterioare de Android, Appium folosește cadrul Selendroid.
Când executăm scripturile de testare, Appium trimite comanda în format JSON către UIAutomator sau Selendroid pe baza versiunii Android. Aici, bootstrap.jar acționează ca un server TCP, pe care îl putem folosi pentru a trimite comanda de testare pentru a executa acțiunea pe dispozitivul Android utilizând UIAutomator / Selendroid.
Concluzie
În acest capitol, am obținut o înțelegere de bază a Appium, arhitectura, fluxul de lucru și funcționarea Appium pe iOS / Android.
În capitolul următor, vom vedea cum se configurează Appium și alte programe de bază care urmează să fie instalate pentru Mobile Automation pe dispozitive reale.
Lectură recomandată
- Creați teste Appium pentru o aplicație Android
- Introducere în Appium Studio: Avantaje și caracteristici cheie
- Rularea testelor Appium în paralel utilizând Appium Studio pentru Eclipse
- Crearea testelor de epocă folosind epochs Studio for Eclipse
- Appium Studio pentru Eclipse: automatizarea end-to-end Appium / Selenium de la Eclipse
- Tutorial Appium pentru testarea aplicațiilor mobile Android și iOS
- Conectarea dispozitivelor reale iOS și Android de la Cloud la Appium Studio
- Creați testul Appium pentru o aplicație iOS