working with soapui properties soapui tutorial 8
Acest tutorial se referă la proprietățile SoapUI. În ultimul tutorial SoapUI am văzut cum să adăugați proprietăți în scriptul Groovy .
O proprietate în SoapUI este similar cu o variabilă / parametru și în acest tutorial va vorbi despre cum să utilizați una într-o cerere de serviciu și să îi atribuiți valoarea de răspuns prin scripting. Mai târziu, vom trece la pasul de testare a transferului de proprietăți și apoi la importul proprietăților.
Acesta este al 8-lea tutorial din Instruire online SoapUI serie.
Ce veți învăța din acest tutorial SoapUI?
- Diferite fețe de proprietăți
- Integrarea proprietăților în cererea de service
- Înțelegerea transferului de proprietăți Pasul de testare
- Încărcați proprietățile în exterior
Sunt douătipuri de proprietăți în SoapUI:
- Proprietăți implicite : inclus în instalarea SoapUI. Putem edita unele dintre proprietățile implicite, dar nu toate.
- Proprietăți personalizate / definite de utilizator : Acestea sunt definite de noi la orice nivel necesar, cum ar fi global, proiect, suită de testare, caz de testare sau pas de testare.
Cel mai adesea, proprietățile sunt obișnuite stocați și preluați datele în timpul executării cazurilor de testare. Proprietatea internă va stoca valoarea în formatul perechii de chei.
De exemplu , în declarația de mai jos, „Local_Property_FromCurrency” este un nume cheie, iar „USD” se referă la valoare. Pentru a accesa valoarea proprietății, trebuie să folosim numele proprietății.
testRunner.testCase.testSteps („Properties”). setPropertyValue
(„ Local_Property_FromCurrency ', 'USD' )
Ce veți învăța:
- Diverse niveluri de proprietate în SoapUI Pro
- Mai multe detalii despre proprietăți cu exemple
- Utilizarea proprietăților în servicii
- Transfer de proprietate
- Concluzie
- Lectură recomandată
Diverse niveluri de proprietate în SoapUI Pro
Să discutăm diferitele niveluri de proprietate din SoapUI Pro. În SoapUI există trei niveluri de proprietăți disponibile.
Nivelul 1. Proprietăți proiect și personalizate
La acest nivel, proprietățile sunt împărțite în două secțiuni. Sunt proprietăți de proiect și proprietăți personalizate. Acestea vor apărea în partea de jos a panoului de navigare atunci când facem clic pe numele proiectului. Secțiunea Proprietăți proiect are proprietăți implicite care sunt create în timpul creării proiectului, de exemplu, Nume, Descriere, Fișier etc.
Pentru a ne crea propriile proprietăți, putem folosi fila proprietăți personalizate. Faceți clic pe pictograma plus pentru a crea proprietăți:
Există multe alte opțiuni disponibile, cum ar fi eliminare, deplasare în sus, deplasare în jos și sortare lângă adăugare. Orice număr de proprietăți personalizate poate fi adăugat și utilizat de orice secțiuni (suită de testare, cazuri de testare) din cadrul proiectului.
Nivelul 2. Test Suite și Proprietăți personalizate
Aceste proprietăți sunt vizibile numai sub suita de testare. O suită de testare poate conține orice număr de proprietăți și poate fi accesată din orice etapă de testare care aparține suitei de testare menționate.
Proprietățile suitei de testare apar atunci când faceți clic pe numele suitei de test respective din proiect. Pentru a adăuga proprietăți personalizate după cum este necesar, faceți clic pe fila proprietăți personalizate și faceți clic pe semnul „+” de sub ea.
Proprietatea nr. 3. Test Case și Custom Properties
Proprietățile cazului de testare sunt accesibile în cadrul cazului de testare. Nu sunt accesibile prin alți pași de testare sau chiar prin suita de testare în cadrul proiectului.
cum se deschid fișiere 7zip pe Mac
Mai multe detalii despre proprietăți cu exemple
Proprietățile pot stoca puncte finale, detalii de conectare, informații despre antet și domeniu etc., chiar dacă am discutat despre scrierea și citirea datelor către / de la proprietăți, încă nu am discutat acest subiect în detalii cu un exemplu.
Nivelurile de proprietăți discutate mai sus sunt utilizate în scripting pentru a citi datele.
# 1. Proprietăți de citire:
Ne vom uita la modul în care putem citi proprietăți în script groovy. Pentru a accesa proprietăți de nivel diferit, sintaxa este următoarea:
Proiect: Sintaxă: $ {# Nume proiect # Valoare}
Exemplu:
def relatii cu publicul ojectPro = testRunner.testC la se.testSuite.project.getPropertyValue
(„Project_Level_Property”)
„Project_Level_Property”)
log.info (projectPro)
Test suite: Sintaxă: $ {# TestSuite # Value}
Exemplu:
def testP ro = testRunner.testCase.testSuite.getPropertyValue („Testsuite_Property”)
log.info (testPro)
Caz de testare: Sintaxă: $ {# TestCase # Value}
Exemplu:
def Test casePro = testRunner.testCase.getPropertyValue („Testcase_Property”)
log.info (testcasePro)
Consultați captura de ecran de mai jos:
# 2. Scrierea la proprietăți:
Pentru a face acest lucru, trebuie să folosim setPropertyValue metodă.
Sintaxă: setPropertyValue („nume proprietate”, „valoare”)
Dacă atribuim valori proprietăților necunoscute, atunci SoapUI va crea aceste proprietăți recent. Pentru proprietățile existente vor primi valorile în timpul atribuirii.
# 3. Eliminarea proprietăților prin script:
Acest lucru se poate face făcând clic dreapta pe numele proprietății din panoul proprietății. Apoi faceți clic pe opțiunea Eliminare din meniul contextual.
Pentru a face acest lucru folosind scriptul pentru eliminarea proprietăților personalizate, utilizați următoarele declarații pentru nivelurile de proiect, suită de testare sau caz de testare respectiv:
testRunner.testCase.testSuite.project.removeProperty („Testcase_Property”);
testRunner.testCase.testSuite.removeProperty („Testcase_Property”);
testRunner.testCase.removeProperty („Testcase_Property”);
Scripturile de mai sus nu sunt optime atunci când avem mai multe proprietăți în fiecare nivel, deoarece acești pași trebuie repetați de mai multe ori pentru fiecare proprietate. O alternativă este să iterați proprietățile prin script după cum urmează:
testRunner.testCase.properties.each
{
cheie, valoare ->
testRunner.testCase.removeProperty (cheie)
}
Scriptul de mai sus va itera până la ultima proprietate disponibilă în cazul testului. „ Cheie ”Se referă la numele proprietății în care este„ valoare ”Denotă valoarea reală a proprietății. Putem modifica scriptul de mai sus pentru a elimina lista de proprietăți în bloc prezentă la diferite niveluri.
# 4. Adăugați o proprietate:
AddProperty pentru aceasta este utilizată metoda a cărei sintaxă este:
addProperty (numele proprietății);
Acest lucru poate fi adaptat pentru fiecare nivel după cum urmează:
testRunner.testCase.testSuite.project.addProperty („ProjectProperty1”)
testRunner.testCase.testSuite.addProperty („TestsuiteProperty1”)
testRunner.testCase.addProperty („TestcaseProperty1”)
După executarea scripturilor de mai sus, faceți clic pe proiectul / suita de testare / numele cazului de testare. Verificați fila de proprietăți personalizate din panoul de proprietăți și proprietatea creată apare aici. Vezi mai jos pentru referință:
Utilizarea proprietăților în servicii
În această secțiune, vom afla cum putem folosi proprietățile din servicii și vom folosi scripturile de mai sus pentru adăugarea, atribuirea, recuperarea datelor de proprietate cu serviciul web de conversie valutară.
Integrarea proprietăților în serviciu:
Să începem să adăugăm pași de testare așa cum se arată în captura de ecran de mai jos.
În captura de ecran de mai sus, pasul de testare AddProperties_Script conține următorul script care adaugă două proprietăți, cum ar fi Property_FromCurrency și Property_ToCurrency .
// Adăugați proprietăți
testRunner.testCase.addProperty („Property_FromCurrency”)
testRunner.testCase.addProperty („Property_ToCurrency”)
// Alocați valori Proprietăților
testRunner.testCase.setPropertyValue („Property_FromCurrency”, „USD”)
testRunner.testCase.setPropertyValue („Property_ToCurrency”, „INR”)
În ServiceRequest_CurrencyConverter_1 conține cererea cu parametrii de intrare, după cum se vede mai jos:
Valorile atribuite în proprietăți vor fi transferate către acești parametri în timpul execuției. După acest pas de testare, GetResponseData_Script pasul de testare are scriptul care va obține valoarea răspunsului și va afișa rezultatul în jurnal. Iată scenariul.
// Obțineți date de răspuns de la serviciu
def response = context.expand (‘$ {ServiceRequest_Currency
Convertor_1 # Răspuns} ”)
def parsedResponse = new XmlSlurper (). parseText (răspuns)
Șir convertitValoare = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (converterValue)
Odată ce toți pașii sunt gata, faceți dublu clic pe numele suitei de testare și rulați suita de testare. Apoi, faceți dublu clic pe ServiceRequest_CurrencyConverter_1 și consultați secțiunea de răspuns.
Iată ce am găsi:
- Răspunsul va fi primit
- Deschideți jurnalul de script pentru a vedea datele rezultate care sunt convertite pe baza parametrilor de intrare
Acesta este modul în care putem transmite parametrii cererii de intrare și putem obține răspunsul prin script folosind proprietăți. Mergând mai departe, putem transmite și valoarea de răspuns unui alt serviciu ca intrare.
Transfer de proprietate
Pasul de testare a transferului proprietății transferă datele proprietății de la o proprietate la alta în timpul execuției. Să vedem pe scurt cum putem crea etapa de testare a transferului de proprietăți și cum se transferă valoarea proprietății între două proprietăți.
- Faceți clic dreapta pe numele cazului de test sub suita de testare
- Clic Adăugați Pasul și apoi faceți clic pe Proprietăți opțiune din meniul contextual
- Repetați pașii de mai sus pentru a crea a doua proprietate. Vedeți captura de ecran de mai jos:
- Acum trebuie să adăugăm etapa de testare a transferului de proprietăți.
- Faceți clic dreapta pe numele cazului de testare și faceți clic pe opțiunea de transfer de proprietăți din meniul contextual
- Introduceți numele de transfer al proprietății dorit și apoi faceți clic pe OK
- Faceți clic pe Adăugare, adică semn plus, în bara de instrumente de transfer de proprietăți
- Specificați numele transferului și apoi faceți clic pe butonul OK
- În panoul lateral din dreapta, există două secțiuni disponibile: Sursă și Țintă.
Alegeți sursa ca Proprietăți și proprietate ca Property_Zipcode . Faceți același lucru în secțiunea țintă. Alege Proprietate_ țintă din meniul derulant de proprietate. Când se execută pictograma, valoarea proprietății va fi transferată de la Property_Zipcode la Proprietate_ țintă .
(Faceți clic pe imagine pentru vizualizare mărită)
Vedeți valoarea transferată așa cum se arată în captura de ecran de mai jos.
Notă: Proprietatea sursă trebuie să conțină valoarea implicită.
În plus, există multe opțiuni disponibile în ecranul de transfer al proprietății.
- Eșec de transfer la eroare
- Transferă conținut text
- Transfer la toți
- Autorizați valoarea transferată
- Setați nul pe sursa lipsă
- Ignorați valorile goale / lipsă
- Utilizați XQuery
- Transferă noduri copil
Încărcați proprietăți din sursa externă:
Pentru a încărca proprietăți dintr-o sursă externă, urmați acești pași.
- Adăugați pasul de testare Proprietăți în cazul de testare
- Introduceți numele pasului proprietății și apoi faceți clic pe OK
- În panoul de proprietăți de sub panoul de navigare, faceți clic pe fila Proprietăți personalizate
- Clic
pictogramă pentru a încărca proprietățile din fișierul de proprietăți externe
Notă: Fișierul de proprietăți ar trebui să fie salvat sau prezent pe computerul dvs. Pentru a salva proprietățile, faceți clic pe pictogramă.
Apoi, mergeți la unitatea respectivă și alegeți proprietatea așa cum se arată mai jos:
La OK, putem vedea proprietățile încărcate și valorile acestora în fila Proprietăți personalizate.
Concluzie
Ei bine, acestea sunt proprietăți pentru noi!
Fiecare proprietate de nivel are propriile caracteristici. În timpul practicii dvs. SoapUI, încercați să includeți proprietăți ori de câte ori este posibil cu pasul de testare groovy script pentru adăugarea, eliminarea, atribuirea și recuperarea datelor de proprietate. Acest lucru nu este util doar atunci când exersați cu serviciile, ci și critic pentru testarea reală a aplicațiilor, deoarece această tehnică este foarte utilă afirmați-vă cazurile de testare .
Transferul proprietăților între pașii de testare este mai ușor decât scrierea de scripturi repetate pentru a crea noi. SoapUI oferă, de asemenea, caracteristica minunată de a importa și exporta proprietăți. Această caracteristică va fi utilă atunci când folosim proprietăți comune, cum ar fi detalii de conectare, detalii de sesiune etc., pentru mai multe proiecte. În acest fel, nu trebuie să creăm aceleași proprietăți din nou și din nou pentru mai multe proiecte. Putem schimba pur și simplu valoarea proprietății în raport cu proprietățile pe baza proiectelor.
Următorul tutorial # 9 : În următorul tutorial SoapUI vom învăța Declarații condiționale în Groovy cum ar fi:
- Declarații booleene
- Declarații de iterație
- Matrice în Groovy
Asta este pentru astăzi. Continuați să citiți și vă vom vedea în următorul tutorial. Vă rugăm să împărtășiți întrebările, comentariile și experiențele de mai jos.
Lectură recomandată
- Cum se utilizează proprietăți în SoapUI Groovy Script - Tutorial SoapUI # 7
- 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
- Cum se scrie un script groovy de bază în SoapUI - Tutorialul SoapUi # 6
- Tutoriale detaliate pentru eclipsă pentru începători
- 7 Caracteristici importante ale SoapUI și SoapUI Pro - Tutorial 2
- Înțelegerea afirmațiilor în SoapUI - Tutorial SoapUI # 5
- 4 Caracteristici importante ale publicului SoapUI Pro pentru Pro - Tutorial SoapUI # 12