how automate api requests using rest assured
În acest tutorial vom învăța să automatizăm cererile API folosind REST asigurat în timpul executării scripturilor de testare peste Jenkins:
În al doilea tutorial din seria de tutoriale REST API, am învățat diferite tipuri de coduri de răspuns, solicitări REST, cele mai bune practici REST și testarea API folosind POSTMAN.
ODIHNĂ serviciile web devin populare zi de zi datorită ușurinței lor de dezvoltare, implementare, acces și apoi execuție. În plus, acestea sunt ușoare și nu au standarde stricte care trebuie respectate.
Cu toate acestea, atunci când există un număr mai mare de servicii care există și trebuie executate în fiecare nouă construcție, atunci devine un coșmar pentru tester și pentru costul proiectului. Din nou, unele servicii sunt interne, care sunt legate de proiectul în sine, iar altele sunt construite pentru a fi consumate de terți.
Deci, ideea de automatizare a apărut. Există mai multe instrumente disponibile pentru automatizarea serviciilor REST, cum ar fi-
- vRest
- HttpMaster
- Parasoft
- Fiți siguri
RestAssured este un instrument popular de automatizare printre testeri. Să vedem de ce este o opțiune preferată.
Ce veți învăța:
De ce RESTAsured?
- Este open-source, prin urmare orice organizație o poate folosi pentru nevoile sale de proiect.
- REST Assured este o bibliotecă Java, deci nu vine ca GUI ca alte instrumente. Este un cadru pentru testarea serviciilor REST în Java.
- Oferă un limbaj specific domeniului (DSL) pentru a crea un script de automatizare, folosește orice limbă maternă, cum ar fi Java și testează API-ul web RESTful.
- Acesta acceptă formatul XML și JSON pentru cerere, răspunsuri.
- Acționează ca un client fără cap.
- Putem personaliza cererea pe care o vom trimite serverului folosind această bibliotecă.
- De asemenea, poate testa o combinație variată de logică de afaceri complexă.
- Este capabil să preia codul de stare, răspunsurile, corpul răspunsului, antetele de la server pentru solicitarea trimisă.
- Permite stilul BDD de scriere a scriptului de test, adică în formatul GIVEN-WHEN-THEN, astfel încât orice membru al echipei de afaceri, în special din mediul non-IT, să îl poată vedea și să înțeleagă logica și acoperirea testului.
În acest tutorial, vom automatiza cererile pe care le-am creat manual mai devreme în primul tutorial REST API prin POSTMAN și vom discuta, de asemenea, despre un instrument comercial numit GITHUB.
Automatizarea cererilor API Web utilizând REST asigurat
În acest tutorial, vom face automatizarea end-to-end, adică crearea unei clase Java și executarea acesteia de la Jenkins.
Cerințe prealabile:
- Destinatarii vizați trebuie să aibă cunoștințe practice despre Eclipse IDE, Maven, TestNG, ReportNG.
- Destinatarii ar trebui să fie, de asemenea, conștienți de Jenkins.
- Conexiunea la internet este necesară dacă accesăm serviciile desfășurate pe web. În cazul în care accesăm serviciile desfășurate la nivel local, în acest caz, asigurați-vă că testerul are dreptul.
- Dacă automatizăm orice site comercial, securizat, în acest caz, asigurați-vă că jetonul de autorizare, jetoanele API, cheile API etc. funcționează corect și sunt furnizate testerului, care automatizează în prezent scriptul.
Adresa URL de testare
- http://jsonplaceholder.typicode.com este în funcțiune
- Utilizatorul are acreditări valide peste GitHub
Setări de mediu
# 1) Instalați Eclipse IDE
În primul rând, trebuie să descărcăm Eclipse IDE de pe site-ul oficial al Eclipsă.
Apoi instalați IDE-ul. Setați corect calea, variabila de mediu JAVA_HOME. Păstrați la îndemână calea JDK, JRE pentru o utilizare viitoare. Odată ce Eclipse este instalat, creați / setați un spațiu de lucru și deschideți spațiul de lucru.
În cazul meu este:
#Două) Creați un proiect Maven
Asigurați-vă că ați configurat casa Maven peste variabilele de mediu.
# 3) Adăugați toate pluginurile relevante, necesare, plugin-uri referitoare la REST-ASSURED, TESTNG, REPORTNG la pom.xml.
Iată un exemplu pom.xml.
4.0.0 com restapi 2.9.1-SNAPSHOT jar restapi http://maven.apache.org UTF-8 junit junit 3.8.1 test org.testng testng 6.11 com.jayway.restassured rest-assured 2.9.0 com.jayway.jsonpath json-path 2.2.0 com.jayway.restassured json-schema-validator 2.9.0 com.google.code.gson gson 2.6.2 test org.hamcrest hamcrest-junit 2.0.0.0 org.hamcrest hamcrest-all 1.3 commons-io commons-io 2.4 io.rest-assured rest-assured-common 3.0.1 org.uncommons reportng 1.1.4 test org.testng testng com.google.inject guice 3.0 org.apache.maven.plugins maven-surefire-plugin 2.14.1 ${env} listener org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter Tutorials.xml
# 4) Adăugați borcanele necesare la calea de construire a proiectelor Maven.
În mod normal, acestea sunt fișiere de bibliotecă care intră sub un vas asigurat de REST, TESTNG, REPORTNG. Chiar dacă am adăugat dependența, pluginul peste fișierul pom.xml, dar totuși apare uneori erori, de aceea trebuie să adăugăm aceste borcane / biblioteci pentru a construi calea proiectului maven pentru a preveni erorile (dacă există).
Cu toate acestea, atunci când creăm proiecte Java în loc de proiecte Maven, în acest caz, trebuie să păstrăm aceste borcane, biblioteci la îndemână și să le folosim ca și când este necesar.
# 5) Instalați JENKINS (pe Windows)
Descărcați Jenkins de pe jenkins.io/download/.
Apoi, deschideți configurarea, urmați pașii până când este instalat corect.
Odată instalat, trebuie să pornim JENKINS, putem face același lucru dintr-un prompt de comandă.
C: Program Files Jenkins> java -jar jenkins.war –httpPort = 9090.
Odată ce mesajul de mai sus este afișat, atunci trebuie să mai așteptăm încă ceva timp pentru a vedea următorul mesaj.
După cum putem vedea ultimul mesaj în ecranul de mai sus, în care Jenkins este complet funcțional, de aceea putem lansa Jenkins folosind următoarea adresă URL.
http: // localhost: 9090 /
Prima dată poate dura ceva, dar apoi va fi mai rapid. După aceea, trebuie să creăm un utilizator.
întrebări de interviu java j2ee pentru o experiență de 10 ani
Odată ce utilizatorul este creat, trebuie să relansăm Jenkins și să accesăm interfața de utilizare cu parola.
Odată ce Jenkin este instalat, putem instala pluginurile peste Manage Jenkins> Global Tool Configuration (chiar și în timpul instalării Jenkin).
Crearea scriptului de automatizare
# 6) Putem crea o nouă CLASĂ JAVA și o putem converti în TESNG sau creați direct o CLASĂ TESTNG urmată de crearea unui nou fișier XML (testng.xml).
Pentru simplitate, există două clase Java create
# 1) Tutorial1.java - Acest fișier conține utilizarea tuturor metodelor, cum ar fi GET, POST, PUT, PATCH, DELETE, LOGREQUEST, LOGRESPONSE, ASSERT utilizând o adresă URL de testare falsă https: jsonplaceholder.typicode.com.
Chiar dacă adresa URL se comportă ca o adresă URL originală, dând înapoi astfel de răspunsuri, dar de fapt pe server nu se face nicio modificare. Este doar pentru a demonstra proprietățile și reacția serviciilor web atunci când primesc orice solicitare de la un client.
# 2) Tutorial2.java - Acest fișier conține exemplul în timp real al GitHub, unde vom citi comentariul adăugat la un esențial.
Notă : GitHub necesită autentificare, prin urmare, trebuie să generăm jeton API sau autorizație de bază odată ce ne-am conectat la GitHub - setări sau altfel putem genera jeton de autorizare chiar de la POSTMAN
TESNG.XML
Iată fișierul XML care va executa ambele Tutorial1.java și Tutorial2.java
În scop demonstrativ, am exclus toate metodele pentru a rula și am activat doar o metodă GET Tutorial1.java. Cu toate acestea, dacă dorim să vedem toate metodele executate, atunci trebuie să le înlocuim cu peste fișierul XML TestNG. În cazul nostru, numele fișierului TestNG este testng1.xml.
Acum, dacă executăm cele de mai sus fișier testng1.xml peste Eclipse atunci vom obține următoarele ieșire consolă.
(TestNGContentHandler) (AVERTIZARE) Se recomandă insistent să adăugați „” în partea de sus a fișierului, în caz contrar, TestNG poate eșua sau nu funcționează conform așteptărilor.
(TestNG) Rularea:
D: RestAssured restapi testng1.xml
*** OBȚINEȚI METODA ***
Userid - (1) la - (3) Titlu - (dacă este dificil ca exercițiul să fie dureros sau) corp - (și corect, dar legea
Și toate alegerile sau spre plăcerea orbilor sunt
sau denunțând orice tristețe și plăcere rezultate
și este dispus să treacă și să treacă de treaba unui odios sau a unui disconfort; și)
*** OBȚINEȚI METODA SE ÎNCHEIE ***
—————————————————–
Tutoriale REST API
Total teste efectuate: 1, Eșecuri: 0, Salturi: 0
—————————————————-
Iată rezultatul testului suitei.
Iată raportul implicit generat de TestNG.
Iată raportul generat de ReportNG.
Deoarece am configurat deja ReportNG, prin urmare ne putem aștepta la o vizualizare clară a numărului total trecut, eșuat, ca mai sus.
Executarea scripturilor de testare utilizând linia de comandă
- Trebuie să pornim promptul de comandă
- Setați directorul de lucru ca locație a spațiului de lucru
- Găsiți coșul / locația țintă
- Găsiți / creați locația bibliotecii
- Mai întâi, avem nevoie de un set, directorul în care există proiectul. În cazul meu, este D: RestAssured restapi
- Java - cuvânt cheie
- cp - Este classpath, înseamnă calea în care există clasa Java în proiect
- Ţintă - Este la fel ca folderul bin atunci când lucrăm la un proiect Java. Deoarece lucrăm la proiectul Maven, prin urmare vom avea acest folder. Sub acest folder, putem avea, încă două foldere: clase, clase de testare. Clasa Java actuală va exista printre aceste două foldere
- Lib - Acest dosar va conține toate borcanele pe care le-am folosit în timpul executării scriptului de testare de la Eclipse. În unele cazuri, este posibil ca dosarul să nu fie prezent. Prin urmare, este posibil să trebuiască să creăm un folder și să păstrăm toate borcanele, executabilele etc. în interiorul acestuia.
- org.testng.TestNG testng1.xml - Aceasta este ca o sintaxă. Ultima parte este testng1.xml este fișierul de resurse al TestNG, care va fi apelat pentru a executa scripturile de testare dorite
Comanda completă va fi
java -cp target / test-classes; target / Classes; lib / * org.testng.TestNG testng1.xml
După aceea, apăsați Enter
Notă: Putem vedea folderul bin în timp ce lucrăm la un proiect Java. Cu toate acestea, dacă lucrăm într-un proiect Maven, atunci vom avea un folder țintă și clase normale, dosarul claselor de testare va fi prezent sub acesta.
Crearea fișierului BAT și executarea scripturilor de testare
În loc să deschidem promptul de comandă și să executăm comanda de mai sus pentru a executa scriptul de testare, putem păstra comanda într-un fișier text și, în timp ce o salvăm, îi dă un nume ca,
„Run.bat” (asigurați-vă că păstrați „” în jurul run.bat)
Iată cum arată odată ce a fost creat.
Acum faceți dublu clic pe „rulați”
Promptul de comandă se va deschide și va executa scriptul de testare și odată ce executarea se finalizează, promptul de comandă se închide.
site-uri web pentru a viziona anime gratuit
Integrarea JENKINS cu Maven, Java
Trebuie să facem 4-5 configurații la Jenkins pentru a o integra cu Maven, Java și a le executa la fel.
Odată ce ne-am conectat la Jenkins,
Goto Manager Jenkins >> Configurarea instrumentului global
setați calea de instalare JDK
Notă : Asigurați-vă că versiunea Jenkin acceptă versiunea JDK / Java. Versiunea Jenkins 2.73 necesită cel puțin JDK / JAVA Versiunea 1.8 sau altfel va crea probleme în timpul executării scripturilor de testare.
Setați calea de instalare Maven
După aceea, Goto Manager Jenkins >> Configurare sisteme
Setați calea variabilă de mediu
Următorul, Creați un element nou
Trebuie să facem clic pe creați un nou link, să specificați Nume pentru job, selectați tipul de proiect ca Freestyle . Nu este nevoie să vă faceți griji pentru alte lucruri de acum.
Odată ce jobul este creat, acesta va arăta astfel.
Acum faceți clic pe job
Urmați pașii de mai jos:
- Faceți clic pe legătura de configurare din panoul din stânga.
- Derulați în jos fila General și faceți clic pe butonul Avansat.
- Bifați caseta de selectare a spațiului de lucru personalizat și specificați locația folderului de proiect.
Dupa aceea
- Derulați mai mult în jos pentru a construi declanșatoare
- Bifați caseta de selectare Construiți periodic
- Setați un timp așa cum se menționează mai jos
Derulați în jos, setați numele Build. În cazul nostru, este o comandă executabilă Windows.
Este în aceeași locație în care am păstrat fișierul run.bat mai devreme, adică folderul D: RestAssured restapi
Salvați toate modificările de mai sus făcute până acum.
Acum, așteptați executarea jobului cron. Putem vedea că construirea este inițiată.
Odată ce versiunea este executată cu succes, trebuie să facem clic pe versiunea # 20 așa cum este specificat în imaginea de mai sus.
Faceți clic pe Ieșire consolă link din panoul din stânga.
Acum ar trebui să putem vedea următoarea ieșire.
Concluzie
REST ASSURED este o bibliotecă JAVA foarte utilă pentru a automatiza API-ul REST indiferent de limbă. Are multe opțiuni încorporate. De asemenea, are multe versiuni cu funcții interesante, opțiuni incluse în acesta. Suportă mai multe formate, precum cereri precum XML, JSON etc.
În acest tutorial, am explicat cum să automatizăm cererile API folosind RESTAssured în timp ce executăm scripturi de testare folosind Jenkins. De asemenea, am explicat de ce Rest Assured este o alegere mai bună pentru automatizarea cererilor API.
Sperăm că ți-a plăcut să citești această serie Tutorial API Rest!
Lectură recomandată
- Testarea API REST cu castraveți folosind abordarea BDD
- Cele mai bune 10 instrumente de testare API în 2021 (SOAP și REST API Testing Tools)
- Testarea API REST cu Spring RestTemplate și TestNG
- Lucrul cu solicitările HTTP în JMeter
- Tutorial POSTMAN: Testare API folosind POSTMAN
- Top 20 Cele mai importante API Testarea întrebărilor și răspunsurilor la interviu
- Top 10 Cele mai bune instrumente de gestionare a API-urilor cu comparație de funcții
- Top 36 de întrebări ale interviului Jenkins (pentru 2021)