Automatizare de testare pe un API: Postman, Newman și Jenkins

Publicat pe 2 august 2016.

Care este automatizarea testelor?

Automatizarea testului este de a utiliza un program pentru a controla executarea testelor și a verifica dacă rezultatele obținute sunt ceea ce așteptam. Pentru a explica cum să obțineți automatizarea testului despre un API, vor fi necesare trei programe: Postman, Newman și Jenkins.

Postman

Primul program pe care îl vom folosi pentru a obține testarea automatizării Este postmanul care poate fi definit după cum urmează:

„Obiectivul principal al Postmanului ajută la construirea API-urilor, permițând rapid crearea agilă a cererilor și a fluxurilor de lucru prin colecții”

mediu

Primul lucru pe care trebuie să-l facem înainte de a crea teste este de a pregăti un mediu pentru serverul în care vor fi executate testele. Pentru a crea un mediu mergem la Gestionarea mediilor → Adăugare. Apoi putem începe Adăugând perechi de valori-cheie care corespund variabilelor pe care le vom folosi în mai multe ocazii în cereri.

Ca un exemplu, am ales următorul API pentru a explica cum funcționează: Swapi.co/api, așa că suntem O să-l salveze într-o variabilă la care vom apela gazdă:

DF2C8DC24 „

Acest API nu are nevoie de utilizator să se autentifice, dar dacă este necesar, am putea salva utilizatorul și parola în mediul înconjurător.

Colecția

Postman vă permite să creați colecții pentru a stoca cereri, deci primul lucru de care avem nevoie este să creați o colecție, oferind numele dvs. și o descriere.

Apoi putem crea o cerere, care va avea mai mult sau mai puțin următorul aspect:

iv id = „ffd26d63e0”

În acest exemplu, încercăm să obținem o listă de nave spațiale, astfel încât în captura de ecran puteți vedea:

  1. Numele cererii.
  2. Metoda: poate fi obține, postare, pune, ștergere …
  3. API: Adresa completă ar fi swapi.co/api/starships, dar pe măsură ce păstrăm swapi.co/api în variabila de mediu gazdă, trebuie doar să scriem {{Host} } Să-l utilizați.

A doua parte a creării unei solicitări este secțiunea Teste, concepută pentru a crea afirmații care verifică informațiile care se întorc Serverul este cel pe care îl așteptam și puteți, de asemenea, să atribuiți valori noilor variabile de mediu sau globale de utilizat mai târziu. De exemplu:

În acest test avem o afirmație care verifică codul De stat este o buclă 200 și, de asemenea, pentru a stoca într-o variabilă de informații despre mediu despre o anumită navă a tuturor returnărilor. În partea dreaptă avem o serie de piese de cod care ajută utilizatorul în crearea de teste.

Următorul pas ar fi salvat cererea apăsând butonul „Salvați” și alegeți unde să îl salvați. Avem opțiunea de ao salva direct în colecție:

divid id = „2E31A75F05”> iv id = „b505b4b1f9”

sau într-o Folder. Păstrați-le în foldere are avantajul de a putea izola executarea acestuia de restul cererilor.

DIV id = „2E31A75F05”> 323ca1441a „

Execuția testelor

Pentru a rula cererea creată mai întâi va trebui să o salvați (importantă!) Și apoi trimiteți-o făcând clic pe „Trimitere”. Din răspunsul suntem interesați de două părți: corpul, unde vedem JSON-ul returnat de server cu toate informațiile și testele, unde se va vedea rezultatul afirmațiilor.

DIV ID = „2E31A75F05”>

În acest caz, unul dintre cele 2 teste nu a reușit deoarece a fost specificat în testele care trebuiau să primească mai mult de 100 de nave și dacă Observăm informațiile primite acolo mai puțin.

Odată ce avem toate cererile pe care le dorim împreună cu testele dvs. pot fi executate împreună. Pentru că trebuie să deschidem „Colecția Runner”:

divid id = „2E31A75F05”>

pentru a rula Teste Trebuie să urmărim următorii pași:

  1. alegeți între rularea întregii colecții sau doar un dosar.
  2. Alegeți mediul în care am stocat variabilele.
  3. Numărul de ori dorim să rulăm testele.
  4. Start Test

Odată ce execuția se termină, puteți vedea rezultatele din partea dreaptă a ecranului. Mai presus de toate, va apărea un rezumat în care puteți vedea câte teste au eșuat, câte și cât timp a luat-o de exemplu. Mai jos va apărea același lucru, dar pentru fiecare cerere făcută.

Newman

Postman are o versiune de linie a comenzilor numit Newman, care are multe utilități, dar avem nevoie doar de una: permite integrarea colecțiilor create în poștă cu un sistem de integrare continuă, cum ar fi Jenkins, care este un pas cheie pentru a obține automatizarea testului.

Instalați Newman Este foarte ușor:

Înainte de a începe executarea testului Mai întâi trebuie să exportăm mediul de la poștaș.

va rămâne un JSON al mediului și o altă colecție într-un dosar, care trebuie să ne întoarcem de la o consola de comandă pentru a regula Newman.

Acum, putem alege între rularea colecției complete:

sau un singur dosar (adăugând Argumentul -F):

Ieșirea returnează aproape la fel ca poștașul a revenit: execuția fiecărei cereri și a Rezumat Indicarea modului în care au eșuat și câte teste nu.

Jenkins

Ultimul pas pentru a finaliza automatizarea testului pe API ales este să instalați Newman pe același server pe care este Jenkins și instalați câteva plugin-uri:

  • Plugin parser: pentru a analiza ieșire sintactic.
    • Setări:
      • Descriere: Parsare de eroare
      • Fișier de reguli de parsare: Fișier cu regulile și cu următorul conținut:
  • Pluginul extensiei de e-mail: Pentru a primi un e-mail dacă un test nu reușește.

Odată ce avem pluginurile instalate și configurate, creăm un nou loc de muncă (nou loc de muncă) cu următoarele informații:

Numele proiectului: Star Wars (de exemplu)

Build → Adăugare Pasul de construire → Executați Shell și scriem același lucru Ries of comenzi qui scriem pentru a regula Newman în local: iv id = „F2FFcbbbb131”

ACȚIUNI POST-BUILD → Adăugați o acțiune post-construire → Ieșire consolă (build jurnal) parsare

și în selectarea regulilor parsare selectăm „Eroare parsing” (descriere)

Post-Buy Acțiuni → Adăugare Post-Build Acțiune → Notificare e-mail editabilă

și completați și completați În următoarele informații:

  • Proiect Lista destinatarului: adrese de poștă pe care trebuie să le primiți prin e-mail.
  • Setări avansate → Adăugare Trigger → Script – După construirea
    • Script de declanșare:

Salvare (salvare) și construiți (construiți acum ) …

Consola de ieșire va arăta la fel ca atunci când conducem Newman în local împreună cu câteva linii care indică faptul că Jenkins și-a făcut cecurile.

DIV ID = „2E31A75F05”>

Am executat dosarul „Starships” în mod corespunzător deoarece știu că un test va eșua și astfel vă va face trimiterea unui e-mail. E-mailul primit va fi:

divid id = „2E31A75F05”>

în ea putem vedea că subiectul indică că ceva nu a fost bun (ceva a mers prost …) și în corpul mesajului că Jenkins a executat corect lucrarea și o legătură cu ieșirea de execuție pentru a vedea rezultatele.

Odată ce suntem activi Consola de ieșire a muncii pe care o putem accesa „ieșirea consolei parsate” pentru a vedea subliniate liniile în care apar testele care au eșuat la testele.

Obținerea automatizării de testare pe orice API este la fel de ușor ca urmați pașii indicați în Acest post, trebuie doar să configuram trei programe și nu va trebui să vă faceți griji în legătură cu nimic altceva. Jenkins va fi taxat să ne trimită un e-mail dacă un test a eșuat

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *