understanding assertions soapui soapui tutorial 5
Hem estat treballant en conceptes bàsics de SoapUI com crear projectes, afegir WSDL, enviar una sol·licitud i rebre respostes i la generació d’actius de prova per acompanyar-los fins ara.
En aquest cinquè tutorial de SoapUI, aprendrem tot sobre les afirmacions de SoapUI. Us recomanem que ho feu seguiu la sèrie completa d'entrenaments SoapUI en aquesta pàgina per aprendre totes aquestes característiques bàsiques.
Què aprendreu:
- Introducció a les afirmacions
- Treballar amb diferents tipus d’afirmacions a SoapUI
- Conclusió
- Lectura recomanada
Introducció a les afirmacions
Com passa amb qualsevol prova, hem de comparar què volem que faci el sistema i què fa realment, per arribar a una determinada validació o afirmació, que és el que s’anomena en el context dels serveis web. Com a provadors, no importa si hem executat 1.000 o fins i tot milions de passos de prova, però per a nosaltres la comparació de resultats és la que determina el resultat d’una prova.
Per tant, dedicarem tot aquest article a entendre com podem fer-ho amb SoapUI, tot i que els serveis web es poden afirmar manualment. A més, una afirmació manual requereix molt de temps quan hi ha respostes múltiples i respostes amb dades grans. Les afirmacions de SoapUI són excel·lents per superar aquestes deficiències.
Afirmacions de SOAPUI compareu les parts / tot el missatge de resposta amb el resultat esperat. Podem afegir una varietat d’afirmacions proporcionades per SoapUI a qualsevol pas de prova. Cada tipus d'afirmació s'orienta a validacions específiques de la resposta, com ara coincidir text, comparar XPATH o també podríem escriure consultes segons la nostra necessitat.
Quan s’executen els passos de prova, les afirmacions associades reben la resposta dels passos de prova respectius. Si falla alguna resposta, es processarà l'afirmació respectiva i es marcarà el pas de prova corresponent com a fallit. Aquesta notificació es pot veure a la vista de casos de prova. A més, podem trobar passos de prova fallits al registre d’execució de la prova. La pantalla d’afirmació del pas de prova de mostra es mostra a continuació:
A la imatge anterior, alguns dels passos de la prova han FALLAT i alguns d’ells han SUPERAT. El motiu és l’afirmació.
Com hem comentat anteriorment, si la condició d’afirmació no es compleix amb els resultats esperats, el resultat FALTA.
Treballar amb diferents tipus d’afirmacions a SoapUI
Vegem ara com treballar amb diferents tipus d’afirmacions com:
- Conté i no conté afirmacions
- Partit XPath i
- Afirmacions de coincidència de XQuery.
En primer lloc, necessitem una ubicació d’esquema WSDL vàlida.
Seguiu els passos següents:
Pas 1. Creeu un nou projecte SOAP prement CTRL + N i seguiu els passos. Després de crear el projecte, SOAPUI genera la llista d'interfícies i les sol·licituds corresponents.
Pas 2. Per afegir el conjunt de proves a aquest projecte, seguiu aquests passos:
- Feu clic amb el botó dret sobre el nom de la interfície MedicareSupplierSoap
- Feu clic a Generar Testsuite del menú contextual
- Feu clic a D'acord a la finestra següent que apareix:
- A la finestra emergent següent, cal que introduïu el nom del conjunt de proves que vulgueu i feu clic a D'acord
- SOAPUI PRO generarà el conjunt de proves juntament amb les sol·licituds al tauler del navegador.
- A la suite de proves, veureu alguns dels passos de prova amb el pas de sol·licitud SOAP.
Pas 3. Per executar aquest conjunt de proves, feu doble clic al pas de la sol·licitud i especifiqueu el valor d'entrada a la ubicació corresponent. Per exemple, obriu GetSupplierByCity sol·licita i entra Nova York entre les etiquetes de ciutat.
- Inicieu aquesta sol·licitud fent clic a la icona EXECUTAR: aquesta rebrà la resposta.
- Ara afegim afirmacions. Per a això, feu clic a Afirmacions pestanya present a la part superior de les pestanyes de registre.
- En fer clic amb el botó dret, apareixerà un menú emergent amb algunes opcions bàsiques relacionades amb les afirmacions, a continuació:
# 1) Conté afirmació
Feu clic a l'opció Afegeix una afirmació o feu-hi clic a la barra d'eines - Afegeix una afirmació apareix a la pantalla la finestra amb diferents tipus d’afirmacions.
1. Feu clic a Contingut de la propietat de la llista: es mostren els tipus d’assercions associats i la seva descripció
2. Feu clic a Conté afirmació i feu clic al botó Afegeix
3. Aquesta és la finestra de configuració de l'afirmació. Aquí mateix hem d’especificar la condició esperada en funció de la resposta.
Per exampl és, deixa'm entrar Nova York text en aquest camp de text. Feu cas omís de la comparació la casella de selecció ignorarà fins i tot si el valor esperat està en majúscules o minúscules.
4. Ara executeu el conjunt de proves i verifiqueu els resultats. Com heu vist a la finestra del conjunt de proves, el verd indica l'execució correcta i el vermell indica un error.
# 2) No conté afirmació
Podem utilitzar l'afirmació 'no conté' per validar sol·licituds en escenaris negatius. Podem utilitzar GetSupplierByZipCode sol·licitud d'aprendre això.
Obriu la pestanya de sol·licitud fent-hi doble clic. A la sol·licitud d’entrada, introduïu el codi postal no vàlid a la ubicació adequada, com ara 10029 . Executeu aquesta sol·licitud ara. Consulteu les dades de resposta que contenen les dades del proveïdor per al codi postal donat. Mireu la imatge següent:
(Feu clic a la imatge per ampliar-la)
L'afirmació 'no conté', es ressalta en color verd ja que s'executa correctament.
A la finestra de configuració, hem configurat el valor esperat positiu de la següent manera:
Retorna cert si no es troba el valor condicional esperat i torna fals si es troba el valor esperat al missatge de resposta.
De la mateixa manera, podem canviar la condició i tornar a executar la sol·licitud. Genera els resultats en conseqüència.
# 3) Asserció XPath Match
L'afirmació de coincidència XPath és una mica diferent pel que fa a afirmar la resposta mitjançant dades de resposta reals.
Per exemple , si tenim un servei web d’autenticació d’inici de sessió que autenticarà les credencials d’usuari i enviarà l’acusament al client amb algun tipus de dades booleanes que poden ser VERITATS o FALSES en forma d’XML.
Com ja sabeu, els documents XML es construeixen mitjançant etiquetes. Per tant, en especificar el valor esperat a la configuració, hauria de ser en forma d’XML.
tipus de metadades al magatzem de dades
Intenteu fer-ho:
Afegiu una afirmació més per al fitxer GetSupplierByCity sol·licitud. A la finestra Afegeix una afirmació, feu clic a Contingut de la propietat categoria i, a continuació, feu clic a Partit XPath afirmació.
Es mostra la finestra següent:
La secció superior és la part de la declaració i la secció inferior és la part del resultat esperat.
Quan fem clic al botó declari opció obtindrem alguns scripts de declaració generats automàticament com a continuació:
declare namespace soap = ’http: //schemas.xmlsoap.org/soap/envelope/’;
declarar l’espai de noms ns1 = ’http: //www.webservicex.net/’;
Als scripts anteriors, la primera línia indica la resposta que haurien de ser dades XML i etiquetes SOAP incloses. A la següent línia, tota la resposta s'assignarà o es copiarà al fitxer ns1 variable d’espai de noms durant l’execució. Si volem filtrar dades concretes de tota la resposta, hem d'afegir el següent script.
// ns1: SupplierData (1)
Com ja sabeu, si executeu el fitxer GetSupplierByCity si es sol·licita, produirà la resposta que conté la llista de dades personals del proveïdor a què pertany Nova York .
Aquí, hem utilitzat Partit XPath expressió per extreure les dades personals del proveïdor específic de la resposta massiva. Amb aquest propòsit, hem utilitzat un fitxer ns1 variable. Ara feu clic a Seleccioneu un corrent botó.
A continuació, SOAPUI genera el resultat següent:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Consulteu aquesta captura de pantalla:
Aquí, a les dades de resposta, només podeu veure les dades personals d’un proveïdor. En funció del nombre que hi hagi dins dels claudàtors, es generarà la sortida.
Fins ara, es tracta d’escollir la porció de resposta necessària, com podem / estem utilitzant Partit XPath afirmació?
Anem a això: Feu clic al botó Desa quan estigueu bé amb la resposta.
Inicialment, si hagueu executat aquest servei després de configurar l'afirmació de coincidència XPath sense canvis, el resultat serà una resposta satisfactòria, l'estat ressaltat en verd.
Però canviem el paràmetre d'entrada de la sol·licitud d'entrada per una ciutat que no és vàlida: 'XYZ o ABC'. Executeu la sol·licitud i comproveu els resultats i l'estat de l'afirmació. Obtindrem una resposta de fallada i una indicació d'estat vermella per a l'afirmació. Com que ja havíem especificat que les dades concretes del proveïdor haurien d’estar presents a la resposta del servei en la configuració del resultat esperat i quan el nom de la ciutat no és vàlid, aquest proveïdor no hi és clar.
Així podem afirmar la resposta XML mitjançant l'afirmació d'expressió XPath Match. Acordem que això és bastant senzill per començar, però si proveu respostes de servei diferents, tindreu una idea molt millor.
També podem utilitzar funcions agregades a l’expressió XPath Match. Són suma, mínim, màxim, recompte i mitjana.
Per exemple , si volem conèixer el nombre total de proveïdors en els resultats esperats, escriviu el següent script.
count (// ns1: SupplierData) i torna 536 com a resultat. Recordeu que totes les funcions agregades haurien d’estar en minúscules.
# 4) Afirmació de coincidència de XQuery
Això és lleugerament similar a l'afirmació XPath Match. Com hem vist a la configuració de l'afirmació XPath Match, hi haurà dues seccions: declaració i resultat esperat.
- Afegiu l'afirmació XQuery Match per a la sol·licitud
- A la finestra de configuració, feu clic a declari i escriviu el següent script
- Ara feu clic a Seleccioneu entre Actual botó
- SOAPUI genera la resposta per a l'script
L'expressió XQuery també admet l'expressió XPath Match, però té la seva pròpia sintaxi de script que no es pot utilitzar en l'afirmació de coincidència XPath.
Per exemple :
Veurem un exemple per obtenir tota la resposta de dades del proveïdor mitjançant l’expressió XQuery. Mireu aquesta mostra de captura de pantalla per entendre millor.
Script real:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Hi ha més funcions integrades disponibles per utilitzar a l'expressió XQuery. Ells són on, ordenar per, per, tornar etcètera.
Conclusió
Bé, aquestes són les afirmacions més utilitzades per a vosaltres.
El punt d'èmfasi aquí és que: Les afirmacions són més importants per predir amb exactitud el resultat esperat dels serveis web. Per això és una de les claus funcions a SOAPUI PRO .
Pròxim tutorial : En el proper tutorial, obtindrem fantàstics conceptes bàsics de scripting i molt més ...
Mantingueu-vos connectat. Com sempre, els vostres comentaris, preguntes i suggeriments són benvinguts.
Lectura recomanada
- Com realitzar proves basades en dades a SoapUI Pro - Tutorial SoapUI núm. 14
- 15+ Tutorials SoapUI: la millor eina de prova de l'API de serveis web
- Tutorials Eclipse en profunditat per a principiants
- Com s'utilitzen les propietats a SoapUI Groovy Script: tutorial SoapUI # 7
- 7 Funcions importants de SoapUI i SoapUI Pro - Tutorial 2
- Treballar amb les propietats de SoapUI: tutorial de SoapUI núm. 8
- 4 Funcions importants de SoapUI Pro for Pro Audience: tutorial SoapUI núm. 12
- Procés d'instal·lació i descàrrega de SoapUI pas a pas: tutorial de SoapUI núm. 3