advanced scripting complex testing workflows postman
Aflați despre Postman Advanced Scripting pentru fluxuri de lucru de testare complexă:
În acest tutorial, vom vedea câteva exemple de bază de utilizare a Scripturilor avansate cu Postman, care ne-ar permite să rulăm fluxuri de lucru de testare complexe.
Vom discuta exemple precum Trecerea datelor de la o cerere la alta, Înlănțuirea cererii, adică controlul ordinii de executare a cererilor din colecția Postman etc.
site pentru a viziona anime gratuit
=> Citiți seria Easy Postman Training.
Ce veți învăța:
- Transmiterea datelor între cereri în Postman
- Solicitați înlănțuirea în poștaș
- Înlănțuire avansată a fluxului de lucru cu Postman
- Sfaturi importante
- Concluzie
- Lectură recomandată
Transmiterea datelor între cereri în Postman
Transmiterea datelor între cereri este o extensie a utilizării diferitelor tipuri de variabile Postman. Nu este foarte neobișnuit în cazul în care o cerere API depinde de datele din răspunsul cererii anterioare.
Pentru a construi un astfel de capabilități folosind Postman, putem folosi pur și simplu variabile Postman pentru a seta valoarea în funcție de răspunsul primit de la cererile anterioare sau anterioare.
Iată un tutorial video:
Să vedem un exemplu pentru a ilustra acest lucru.
Vom folosi același API https://reqres.in cu cele 2 puncte finale ale sale, adică Înregistrați utilizator și Obțineți detalii despre utilizator.
Vom folosi valoarea user-id-ului returnat de la punctul final de înregistrare și o vom folosi pentru a obține metoda detaliilor utilizatorului. Acest lucru va fi realizat prin stocarea valorii userId într-o variabilă de mediu și folosirea acelei variabile de mediu în solicitarea ulterioară.
Vă rugăm să rețineți că toate aceste scripturi vor face parte din fila „Teste” a consolei Generator de cereri Postman.
Să vedem cum va arăta scriptul:
# 1) Pentru Înregistrarea punctului final al utilizatorului, răspunsul acestui API va arăta așa cum se arată mai jos.
{ 'id': 4, 'token': 'QpwL5tke4Pnpja7X4' }
Acum, pentru a executa cererea GET folosind id-ul utilizatorului din răspuns, trebuie să obținem valoarea id din răspunsul de mai sus. Vom folosi scriptul de mai jos pentru a stoca valoarea id-ului din acest JSON într-o variabilă de mediu numită numele de utilizator.
var jsonData = pm.response.json(); pm.environment.set('userId',jsonData.id)
Cu scriptul de mai sus, valoarea ID-ului va fi acum stocată în variabila de mediu userId și aceeași poate fi utilizată în timpul executării punctului final de solicitare a utilizatorului GET.
#Două) Astfel, solicitarea utilizatorului GET va arăta așa cum se arată mai jos.
https://reqres.in/api/users/{(userId}}
Odată ce prima cerere este executată, va prelua valoarea UserID din răspuns și va actualiza valoarea variabilei de mediu, astfel încât să poată fi utilizată în celelalte solicitări.
Solicitați înlănțuirea în poștaș
Să încercăm mai întâi să înțelegem un caz de utilizare de bază al înlănțuirii cererii și apoi vom aprofunda în modul în care putem realiza înlănțuirea cererilor folosind Postman.
Luați în considerare un scenariu al fluxului de conectare al unui site de comerț electronic și validați utilizatorul conectat. Acum, pentru ca un utilizator să se conecteze, el sau ea trebuie să fie mai întâi înregistrat pe site și abia apoi se vor putea autentifica. Aceasta este ordinea în care site-ul real al aplicației mobile execută apelurile API.
Uitați-vă din perspectiva testului de integrare. Pentru un test API, trebuie mai întâi să:
- Apelați punctul final de înregistrare al API pentru ca utilizatorul să se înregistreze cu succes.
- Apelați apoi punctul final de conectare și validați detaliile utilizatorului conectat.
Cu Postman, controlul ordinii de executare a cererii nu este direct. Ordinea de execuție implicită este de sus în jos, adică ordinea în care cererile sunt declarate sau create în colecția Postman.
Înlănțuirea cererii sau ordinea executării cererii este modificată utilizând următorul script:
postman.setNextRequest({{RequestName}});
Este important să rețineți aici că acest script de înlănțuire a cererii trebuie adăugat la scriptul de cerere prealabilă sau scriptul de post-cerere (sau la fila teste din generatorul de cereri Postman) care declanșează fluxul de lucru odată cu finalizarea cererii în curs de execuție.
Aici {{RequestName}} este numele cererii reale care este configurat sau setat în colecția Postman.
Să configurăm o colecție Postman cu 4 cereri diferite pentru a ilustra conceptul de înlănțuire a cererii. Creați o nouă colecție cu 4 cereri (Vom folosi același API https://reqres.in pentru a ilustra acest lucru).
Cele 4 cereri din colecție vor fi după cum urmează:
#1 MESAJ solicită înregistrarea utilizatorului ( https://reqres.in/api/register ) cu un exemplar de corp JSON cu câmpuri care au e-mail și parolă ca mai jos.
{ 'email': 'eve.holt@reqres.in', 'password': 'pistol' }
#Două) Solicitare POST cu punct final de autentificare ( https://reqres.in/api/login ) cu același corp de solicitare ca mai sus.
# 3) Solicitați GET cu userID 4.
Fluxul de lucru pe care vom încerca să îl realizăm este:
Înregistrați-vă (POST) -> Detalii utilizator (GET) -> Autentificare (POST)
Indiferent de modul în care sunt configurate aceste solicitări, vom crea un flux de lucru pentru a le executa în această ordine.
Vă rugăm să rețineți că solicitările sunt denumite Înregistrare utilizator, Obțineți utilizator și respectiv Utilizator conectare. Este important să aveți aceste nume de solicitare specificate corect și corect în script, altfel fluxul de lucru se va bloca.
Să vedem cum arată scripturile acum.
# 1) Cerere POST de înregistrare.
postman.setNextRequest('Login User');
#Două) Cerere POST de autentificare.
postman.setNextRequest('Get User');
# 3) Solicitați GET pentru a obține detalii despre utilizator. Aici este important să nu dorim să se întâmple nimic după această solicitare. Dacă nu adăugăm niciun script de flux de lucru aici, colecția Postman este concepută pentru a relua următoarea solicitare în ordinea logică sau implicită.
Astfel, să presupunem că ordinea inițială a cererilor din colecție este Înregistrați-vă, obțineți utilizator și Logare iar fluxul nostru de lucru este la Obțineți utilizator deoarece controlul nu știe ce solicitare urmează, va merge la următoarea cerere logică Logare și va duce în cele din urmă la o buclă infinită.
Pentru a preveni o astfel de situație, este util să încheiați fluxul de lucru folosind,
postman.setNextRequest(null)
Ori de câte ori se întâlnește scriptul de mai sus în timpul unei execuții de colecție, execuția fluxului de lucru se va opri și runner-ul de colecție se va termina.
În cazurile în care există referințe circulare la următoarea solicitare, colectorul de colectare se va bloca într-o buclă infinită, provocând astfel o scurgere de memorie mai devreme sau mai târziu.
Vă rugăm să rețineți că, pentru a executa fluxul de lucru, va trebui să executați prima cerere sau să o porniți manual, apoi să o urmăriți, urmând fluxul de lucru definit în scripturile post-solicitare.
Cu alte cuvinte, prima cerere care trebuie executată ca parte a fluxului de lucru ar trebui să fie, de asemenea, prima cerere din colecția sau dosarul de colectare, astfel încât execuția fluxului de lucru să înceapă cu prima cerere, care este, de asemenea, prima cerere a fluxului de lucru. .
Înlănțuire avansată a fluxului de lucru cu Postman
Exemplul de mai sus pe care l-am discutat este mai degrabă un flux de lucru liniar în care tocmai am configurat fluxul de lucru între un set de cereri din aceeași colecție. Aceeași tehnică poate fi, de asemenea, utilizată pentru a repeta o cerere de mai multe ori pe baza unor valori de răspuns sau variabile de mediu.
cum să programați un computer pentru începători
Luați în considerare testul de integrare pentru o aplicație de coș de cumpărături, unde trebuie să testați un scenariu în care un utilizator caută un produs și îl adaugă în coș și trebuie să efectueze aceeași operație de 5 ori, adică până când coșul are un total de 5 articole și apoi finalizați plata.
Deci, dacă ar fi să scrieți un flux liniar pentru acest tip de test, ați fi repetat cereri individuale în colecție și, în esență, colecția ar avea 5 cereri pentru căutarea unui articol și 5 cereri pentru adăugarea de produse în coș și 1 cerere de plată.
Cu această funcționalitate a fluxului de lucru, putem evita repetarea acelorași solicitări din colecție și putem utiliza fluxurile de lucru pentru a face o buclă între solicitări.
Să vedem o secvență de flux pentru un astfel de scenariu (atunci acesta poate fi folosit / creat folosind fluxul de lucru Postman împreună cu o combinație de variabile de mediu).
Există, de asemenea, un exemplu interesant de utilizare a fluxului de lucru Postman pentru a crea o listă de redare Spotify. Consultați Aici pentru mai multe informatii.
Sfaturi importante
Mai jos sunt câteva sfaturi importante de reținut în timp ce lucrați la construirea fluxurilor de lucru.
- În timp ce executați o colecție dacă puține cereri nu au setate postment.setNextRequest, execuția continuă în ordinea implicită de colectare. Astfel, se recomandă în general să aveți Postman.setNextRequest fie în toate cererile, fie în niciuna dintre ele.
- Când rulați cu colecții, dacă există foldere într-o colecție, atunci Postman.setNextRequest poate fi utilizat doar pentru cererile care aparțin aceluiași folder, adică selecția cererii nu poate depăși folderul curent.
- Postman.setNextRequest este ultima declarație care se execută în scriptul post-cerere sau pre-solicitare, indiferent de locul și ordinea menționată.
În cazul valorilor multiple găsite pentru setNextRequest, cea menționată în ultima este eficientă.
Concluzie
În acest tutorial, am tratat câteva subiecte avansate de scripting, cum ar fi combinarea mediului și a variabilelor locale pentru a transmite date între diferite cereri în Postman și cum putem controla ordinea de execuție a cererilor utilizând înlănțuirea cererii Postman care permite capabilități avansate, cum ar fi buclarea și ramificarea.
Este o caracteristică interesantă de a imita comportamentul unei aplicații în modul în care ar interacționa cu diferite API-uri și este util să scrieți fluxuri de lucru de la un capăt la altul folosind teste de integrare cu puncte finale API.
=> Consultați aici ghidul perfect de formare a poștașilor.
Lectură recomandată
- Cele mai bune instrumente de testare software 2021 (Instrumente de automatizare a testelor de calitate)
- Descărcare eBook Descărcare Primer
- Tutorial POSTMAN: Testare API folosind POSTMAN
- Servicii Web Testarea performanței utilizând LoadRunner VuGen Scripting
- Cum se folosește Postman pentru testarea diferitelor formate API?
- Testarea încărcării cu tutoriale HP LoadRunner
- Diferența dintre Desktop, Client Server Testing și Web Testing
- Ești un tester nou sau avansat? Găsiți din acest joc de cărți