understanding assertions soapui soapui tutorial 5
Am lucrat la elementele de bază ale SoapUI, cum ar fi crearea de proiecte, adăugarea WSDL, trimiterea unei cereri și primirea de răspunsuri și generarea activelor de testare pentru a merge împreună cu ele până acum.
În acest al cincilea tutorial SoapUI, vom afla totul despre afirmațiile din SoapUI. Vă recomandăm cu tărie să faceți acest lucru urmați seria completă de antrenament SoapUI de pe această pagină pentru a afla toate aceste caracteristici de bază.
Ce veți învăța:
- Introducere în afirmații
- Lucrul cu diferite tipuri de afirmații în SoapUI
- Concluzie
- Lectură recomandată
Introducere în afirmații
La fel ca în cazul oricărui test, trebuie să comparăm ce vrem să facă sistemul și ce face de fapt, pentru a ajunge la o anumită validare sau afirmare, care este ceea ce se numește în contextul serviciilor web. În calitate de testeri, nu contează dacă am executat 1000 sau chiar milioane de pași de testare, dar pentru noi, comparația rezultatului este cea care determină rezultatul unui test.
Prin urmare, vom cheltui acest articol întreg pentru a înțelege cum putem face acest lucru cu SoapUI, deși serviciile web pot fi afirmate manual. De asemenea, o afirmație manuală consumă mult timp atunci când există mai multe răspunsuri și răspunsuri cu date mari. Afirmațiile SoapUI sunt excelente pentru a depăși aceste deficiențe.
Afirmații SOAPUI comparați părțile / toate mesajele de răspuns cu rezultatul scontat. Putem adăuga o varietate de afirmații furnizate de SoapUI la orice etapă de testare. Fiecare tip de afirmație vizează validări specifice ale răspunsului, cum ar fi potrivirea textului, compararea XPATH sau am putea scrie, de asemenea, interogări pe baza nevoilor noastre.
Când pașii de testare sunt executați, atunci afirmațiile asociate primesc răspunsul pentru pașii de test respectiv. Dacă un răspuns nu reușește, afirmația respectivă va fi procesată și pasul de test corespunzător va fi marcat ca eșuat. Această notificare poate fi vizualizată în vizualizarea cazului de testare. De asemenea, putem găsi pași de test eșuați în jurnalul de execuție a testului. Ecranul de afirmare a etapei de testare a probei arată după cum urmează:
În imaginea de mai sus, unii dintre pașii de testare au EȘUIT, iar unii dintre ei au TRECUT. Motivul este afirmația.
Așa cum am discutat mai devreme, dacă condiția afirmării nu este îndeplinită cu rezultatele așteptate, atunci rezultatul este EȘUAT.
Lucrul cu diferite tipuri de afirmații în SoapUI
Să vedem acum cum să lucrăm cu diferite tipuri de afirmații, cum ar fi:
- Conține și nu conține afirmații
- Meci XPath și
- Afirmații de potrivire XQuery.
În primul rând, avem nevoie de o locație schemă WSDL validă.
Urmați pașii de mai jos:
Pasul 1. Creați un nou proiect SOAP apăsând CTRL + N și urmați pașii. După crearea proiectului, SOAPUI generează lista interfețelor și solicitările corespunzătoare.
Pasul 2. Pentru a adăuga suita de testare la acest proiect, urmați acești pași:
- Faceți clic dreapta pe numele interfeței MedicareSupplierSoap
- Clic Generați Testsuite din meniul contextual
- Faceți clic pe OK în fereastra de mai jos care apare:
- În următorul popup, trebuie să introduceți numele dorit al suitei de testare și să faceți clic pe OK
- SOAPUI PRO va genera suita de testare împreună cu solicitările din panoul de navigare.
- Sub suita de testare, veți vedea câțiva pași de testare cu pasul de solicitare SOAP.
Pasul 3. Pentru a executa această suită de testare, faceți dublu clic pe pasul cererii și specificați valoarea de intrare în locația respectivă. De exemplu, deschideți GetSupplierByCity cereți și intrați New York între etichetele orașului.
- Porniți această solicitare făcând clic pe pictograma RUN - aceasta va primi răspunsul.
- Acum să adăugăm afirmații. Pentru aceasta, faceți clic pe Afirmații filă prezentă în partea de sus a filelor jurnal.
- Dacă faceți clic dreapta, va apărea un meniu pop-up cu câteva opțiuni de bază legate de afirmații, după cum urmează:
# 1) Conține afirmație
Faceți clic pe opțiunea Adăugare afirmare sau faceți clic pe ea din bara de instrumente - Adăugați afirmație fereastra apare pe ecran cu diferite tipuri de afirmații.
1. Faceți clic pe Conținutul proprietății categorie din listă - se afișează tipurile de afirmații asociate și descrierea acestora
2. Faceți clic pe Conține afirmație și faceți clic pe butonul Adăugare
3. Aceasta este fereastra de configurare a afirmațiilor. Aici trebuie să specificăm condiția așteptată pe baza răspunsului.
Pentru exampl este, lasă-mă să intru New York text în acest câmp de text. Ignorați cazul în comparație caseta de selectare va ignora chiar dacă valoarea așteptată este cu majuscule sau minuscule.
4. Acum executați suita de testare și verificați rezultatele. După cum ați văzut în fereastra suitei de testare, culoarea verde indică executarea cu succes, iar roșul indică eșecul.
# 2) Nu conține afirmație
Putem folosi afirmația „nu conține” pentru validarea cererilor în scenarii negative. Putem folosi GetSupplierByZipCode cerere de a afla asta.
Deschideți fila cerere făcând dublu clic pe ea. În cererea de introducere, introduceți codul poștal nevalid în locația corespunzătoare, cum ar fi 10029 . Rulați această solicitare acum. Verificați datele de răspuns care conțin detaliile furnizorului pentru codul poștal dat - aruncați o privire la imaginea de mai jos:
(Faceți clic pe imagine pentru vizualizare mărită)
Afirmația „nu conține”, este evidențiată în culoare verde, deoarece este executată cu succes.
În fereastra de configurare, am configurat cu valoarea așteptată pozitivă după cum urmează:
Returnează adevărat dacă nu se găsește valoarea condițională așteptată și returnează fals dacă valoarea așteptată este găsită în mesajul de răspuns.
În mod similar, putem schimba condiția și putem rula din nou solicitarea. Generează rezultatele în consecință.
# 3) Asigurarea meciului XPath
Afirmația de potrivire XPath este puțin diferită în ceea ce privește faptul că va afirma răspunsul folosind datele reale de răspuns.
De exemplu , dacă avem un serviciu web de autentificare a autentificării care va autentifica acreditările utilizatorului și va trimite confirmarea către client cu unele tipuri de date booleene care pot fi ADEVĂRATE sau FALSE sub formă de XML.
După cum știți, documentele XML sunt construite prin etichete. Deci, atunci când specificați valoarea așteptată în configurație, aceasta ar trebui să fie sub formă de XML.
care este cheia dvs. de securitate a rețelei
Să încercăm să facem asta:
Adăugați încă o afirmație pentru GetSupplierByCity cerere. În fereastra Add Assertion, faceți clic pe Conținutul proprietății categorie și apoi faceți clic pe Meci XPath afirmaţie.
Este afișată fereastra de mai jos:
Secțiunea de sus este partea de declarație, iar secțiunea de jos este partea de rezultat așteptată.
Când facem clic pe Declara opțiune vom primi câteva scripturi de declarații generate automat, cum ar fi mai jos:
declarați spațiul de nume săpun = ’http: //schemas.xmlsoap.org/soap/envelope/’;
declarați spațiul de nume ns1 = ’http: //www.webservicex.net/’;
În scripturile de mai sus, prima linie denotă răspunsul care ar trebui să fie date XML și etichete SOAP închise. În rândul următor, întregul răspuns va fi atribuit sau copiat în ns1 variabilă spațiu de nume în timpul execuției. Dacă dorim să filtrăm anumite date din întregul răspuns, trebuie să adăugăm următorul script.
// ns1: FurnizorDate (1)
După cum știți, dacă executați GetSupplierByCity solicită, va produce răspunsul care conține lista datelor personale ale furnizorului care aparține New York .
Aici, am folosit Meci XPath expresie pentru a extrage detaliile personale ale furnizorului specific din răspunsul în bloc. În acest scop, am folosit un ns1 variabil. Acum faceți clic pe Selectați dintr-un curent buton.
Apoi SOAPUI generează următorul rezultat:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Vă rugăm să consultați această captură de ecran:
Aici, în datele de răspuns, puteți vedea un singur furnizor de date personale. Pe baza numărului care este prezent în interiorul parantezelor unghiulare, ieșirea va fi generată.
Până acum, este vorba despre alegerea porțiunii de răspuns care este necesară, cum putem / folosim Meci XPath afirmaţie?
Să ajungem la asta: Faceți clic pe butonul Salvare odată ce sunteți OK cu răspunsul.
Inițial, dacă ați fi executat acest serviciu după configurarea afirmației XPath meci fără modificări, rezultatul va fi un răspuns de succes, starea evidențiată în verde.
Dar să schimbăm parametrul de intrare din cererea de intrare cu ceva care este un oraș nevalid - „XYZ sau ABC”. Rulați solicitarea și verificați rezultatele, precum și starea afirmației. Vom primi răspuns la eșec și indicație de stare roșie pentru afirmație. Deoarece am specificat deja că datele specifice ale furnizorului ar trebui să fie prezente în răspunsul serviciului în configurația rezultatului așteptat și atunci când numele orașului este invalid, este evident că furnizorul respectiv nu este prezent.
Acesta este modul în care putem afirma răspunsul XML folosind afirmația expresiei XPath Match. Am fost de acord că acest lucru este destul de simplu pentru început, dar dacă încercați cu răspunsuri de servicii diferite, veți avea o idee mult mai bună.
Putem folosi și funcții agregate în expresia XPath Match. Sunt Sum, Min, Max, Count și Avg.
De exemplu , dacă dorim să cunoaștem numărul total de furnizori în rezultatele așteptate, scrieți următorul script.
count (// ns1: SupplierData) și se întoarce 536 ca rezultat. Amintiți-vă că toate funcțiile agregate ar trebui să fie în minuscule.
# 4) Afirmarea XQuery Match
Acest lucru este ușor similar cu afirmația XPath Match. După cum am văzut în configurația afirmației XPath Match, vor exista două secțiuni - declarație și rezultatul scontat.
- Adăugați afirmația XQuery Match pentru solicitare
- În fereastra de configurare, faceți clic pe declara și scrieți următorul script
- Acum faceți clic pe Selectați din curent buton
- SOAPUI generează răspunsul pentru script
Expresia XQuery acceptă, de asemenea, expresia XPath Match, dar are propria sintaxă de scriptare care nu poate fi utilizată în afirmarea potrivirii XPath.
De exemplu :
Vom vedea un exemplu pentru a prelua răspunsul la toate datele furnizorului utilizând expresia XQuery. Uitați-vă la acest exemplu de captură de ecran pentru a înțelege mai bine.
Script actual:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Există mai multe funcții încorporate disponibile pentru a fi utilizate în expresia XQuery. Sunt unde, comandă după, pentru, întoarcere și așa mai departe.
Concluzie
Ei bine, acestea sunt cele mai frecvent utilizate afirmații pentru dvs.
Punctul de accent aici este că: afirmațiile sunt cele mai importante pentru a prezice cu exactitate rezultatul scontat al serviciilor web. Acesta este motivul pentru care este una dintre chei caracteristici în SOAPUI PRO .
Următorul tutorial : În următorul tutorial, vom primi groovy cu noțiuni de bază de scripting și multe altele ...
Vă rugăm să rămâneți conectat. Ca întotdeauna, comentariile, întrebările și sugestiile dvs. sunt cele mai binevenite.
Lectură recomandată
- Cum se efectuează teste bazate pe date în SoapUI Pro - Tutorial SoapUI # 14
- 15+ Tutoriale SoapUI: Cel mai bun instrument de testare API pentru servicii web
- Tutoriale detaliate pentru eclipsă pentru începători
- Cum se utilizează proprietăți în SoapUI Groovy Script - Tutorial SoapUI # 7
- 7 Caracteristici importante ale SoapUI și SoapUI Pro - Tutorial 2
- Lucrul cu proprietățile SoapUI - Tutorial SoapUI # 8
- 4 Caracteristici importante ale publicului SoapUI Pro pentru Pro - Tutorial SoapUI # 12
- Proces de descărcare și instalare SoapUI pas cu pas - Tutorial SoapUI # 3