Arhitectura Appium pentru testarea aplicațiilor mobile

Publicat: 2020-06-26

Cuprins

Prezentare generală a Appium

Appium este un instrument/cadru gratuit de testare a aplicațiilor mobile care oferă automatizare pentru aplicațiile mobile iOS și Android. Appium este o arhitectură client-server care acceptă cod de testare scris în Java, Python, Ruby, JavaScript etc.

În esență, Appium este un server web scris în limbajul de programare Node.js care creează sesiuni iOS și Android folosind protocolul JSON.

Serverul Appium efectuează următoarele acțiuni

  • Primește o conexiune de la client sub forma unui obiect JSON prin HTTP
  • Inițiază o sesiune și apoi returnează ID-ul sesiunii
  • Ascultă comenzile emise
  • Execută aceste comenzi pe un dispozitiv mobil
  • Răspunde cu un răspuns HTTP

Sursă

Concepte cheie Appium

Înainte de a pătrunde adânc în arhitectura Appium , să înțelegem mai întâi conceptele cheie asociate cu arhitectura Appium .

Client Appium

Clientul Appium este un cod scriptat automat scris în orice limbă cu care vă simțiți confortabil (cum ar fi PHP, Java , Phyton etc.). Clientul Appium deține detaliile de configurare ale dispozitivului mobil și ale aplicației împreună cu logica/codul pentru a rula cazurile de testare.

Server Appium

Serverul Appium este un server HTTP scris în limbajul de programare Node.js care primește solicitări de conexiune și comandă de la clientul Appium într-un format JSON și execută acele comenzi pe un dispozitiv mobil. Serverul Appium este pornit înainte de a invoca codul de automatizare.

Serverul interacționează cu platformele iOS și Android și creează o sesiune pentru a interacționa cu dispozitivele finale ale aplicațiilor mobile.

Citiți: Top 20 de idei și subiecte de proiecte Android în tendințe pentru începători

Dispozitiv final

Dispozitivul final este în mare parte un dispozitiv mobil în timp real sau un emulator. Scripturile automate sunt executate în dispozitivul final de către serverul Appium prin comenzile clientului.

Protocolul JSON Wire

În arhitectura Appium, protocolul fir JSON este un mecanism de transport utilizat pentru a stabili comunicația între clientul Appium și serverul Appium. Acest protocol controlează comportamentul diferitelor dispozitive mobile pe parcursul unei sesiuni. Este un set de puncte finale predefinite expuse prin API-ul RESTful. De exemplu, dacă un client dorește să trimită date către un server, clientul le convertește într-un obiect JSON și le împinge către server. Serverul analizează apoi obiectul JSON primit și îl convertește înapoi în date pentru utilizare.

Arhitectura Appium

Să înțelegem acum arhitectura Appium .

După cum am menționat mai sus, serverul Appium este un server HTTP care citește cererile HTTP din bibliotecile client într-un format JSON și trimite aceste solicitări către platforma corespunzătoare. Serverul Appium recunoaște aceste solicitări și creează o sesiune de automatizare cu dispozitivul final corespunzător. Odată ce sesiunea este creată, serverul Appium începe execuția cazurilor de testare în dispozitivul final.

Serverul Appium gestionează cererile diferit pentru iOS și Android, în funcție de platforma pe care rulează. Următoarele secțiuni vor explica modul în care Appium rulează diferit comenzile pe aceste platforme.

Appium lucrează pe un dispozitiv iOS

Pe un dispozitiv iOS, Appium folosește UIAutomation API (biblioteca JavaScript furnizată de compania Apple) pentru a se conecta la elementele interfeței cu utilizatorul ale aplicației.

Figura de mai sus cu arhitectura Appium iOS descrie arhitectura Appium pentru automatizarea iOS. Să decodificăm pas cu pas figura arhitecturii iOS Appium :

  • Clientul Appium comunică cu serverul Appium folosind protocolul fir JSON și trimite comanda în format JSON către server.
  • Serverul stabilește apoi o conexiune cu clientul și transmite cererea către ICS (Instruments Command Server). Serverul Appium trimite, de asemenea, un fișier bootstrap.js pe dispozitivul iOS. ICC (clientul de comandă instrumentelor) preia apoi comanda și o rulează în fișierul bootstrap.js în mediul dispozitivului iOS.
  • Odată ce operațiunea de mai sus este finalizată, detaliile jurnalului comenzii executate sunt trimise înapoi către server de către client.

Appium lucrează pe un dispozitiv Android

Pe un dispozitiv Android, Appium ar folosi cadrul UIAutomator dezvoltat de dezvoltatorii Android pentru a interacționa cu elementele interfeței cu utilizatorul ale aplicației. UI Automator este un cadru folosit pentru a testa interfața cu utilizatorul.

Figura de mai sus cu arhitectura Appium Android descrie arhitectura Appium pentru automatizarea Android. Cifrele de mai sus înlocuiesc bootstrap.js cu bootstarp.jar.

Aflați: Android SDK: Un tutorial detaliat pentru începători

Să decodificăm pas cu pas figura arhitecturii Android Appium

  • Clientul Appium comunică cu serverul Appium folosind protocolul fir JSON și trimite comanda în format JSON către server.
  • Serverul Appium stabilește apoi o conexiune cu clientul și transmite cererea către controlerul ICS UiAutomator. Serverul Appium trimite, de asemenea, un fișier bootstrap.jar pe dispozitivul Android. UiAutomator comandă clientul, apoi preia comanda și o rulează în fișierul bootstrap.jar din mediul dispozitivului Android.
  • Odată ce operațiunea de mai sus este finalizată, detaliile jurnalului comenzii executate sunt trimise înapoi către serverul Appium de către client.

Citiți și: Full-Stack vs Android Developer: Ce ar trebui să alegeți

Concluzie

Appium este, fără îndoială, una dintre cele mai populare platforme pentru testarea aplicațiilor mobile. Până acum, ați aflat despre prezentarea generală a arhitecturii Appium , a fluxului de lucru și a funcționării Appium pe platformele iOS și Android.

Dacă sunteți interesat să aflați mai multe despre dezvoltarea de software full-stack, consultați UpGrad & IIIT-B PG Diploma in Full-stack Software Development, care este conceput pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Pregătiți-vă pentru o carieră a viitorului

UPGRAD ȘI DIPLOMA PG LUI IIIT-BANGALOR ÎN DEZVOLTARE DE SOFTWARE FULL STACK
Aplica acum