understanding assertions soapui soapui tutorial 5
Hemos estado trabajando en conceptos básicos de SoapUI como crear proyectos, agregar WSDL, enviar una solicitud y recibir respuestas y generar activos de prueba que los acompañen hasta ahora.
En este quinto tutorial de SoapUI, aprenderemos todo sobre las afirmaciones en SoapUI. Le recomendamos encarecidamente que siga la serie completa de capacitación de SoapUI en esta página para aprender todas estas características principales.
Lo que vas a aprender:
- Introducción a las afirmaciones
- Trabajar con diferentes tipos de afirmaciones en SoapUI
- Conclusión
- Lectura recomendada
Introducción a las afirmaciones
Al igual que con cualquier prueba, tenemos que comparar lo que queremos que haga el sistema y lo que realmente está haciendo, para llegar a una cierta validación o afirmación, que es lo que se llama en el contexto de los servicios web. Como probadores, no importa si ejecutamos 1000 o incluso millones de pasos de prueba, pero para nosotros, la comparación de resultados es lo que determina el resultado de una prueba.
Por lo tanto, dedicaremos todo este artículo a comprender cómo podemos hacer eso con SoapUI, aunque los servicios web se pueden hacer valer manualmente. Además, una afirmación manual requiere mucho tiempo cuando hay varias respuestas y respuestas con grandes datos. Las afirmaciones de SoapUI son excelentes para superar estas deficiencias.
Afirmaciones SOAPUI compare las partes / todo el mensaje de respuesta con el resultado esperado. Podemos agregar una variedad de afirmaciones proporcionadas por SoapUI a cualquier paso de prueba. Cada tipo de afirmación tiene como objetivo validaciones específicas en la respuesta, como el texto coincidente, la comparación de XPATH o también podríamos escribir consultas según nuestra necesidad.
Cuando se ejecutan los pasos de prueba, las afirmaciones asociadas reciben la respuesta para los pasos de prueba respectivos. Si falla alguna respuesta, se procesará la aserción respectiva y el paso de prueba correspondiente se marcará como fallado. Esta notificación se puede ver en la vista de caso de prueba. Además, podemos encontrar pasos de prueba fallidos en el registro de ejecución de la prueba. La pantalla de afirmación de pasos de prueba de muestra se ve a continuación:

En la imagen de arriba, algunos de los pasos de la prueba FALLARON y algunos PASARON. La razón es la afirmación.
Como comentamos anteriormente, si la condición de aserción no se cumple con los resultados esperados, el resultado es FALLIDO.
Trabajar con diferentes tipos de afirmaciones en SoapUI
Veamos ahora cómo trabajar con diferentes tipos de afirmaciones como:
- Contiene y no contiene afirmaciones
- Partido XPath y
- Aserciones de coincidencia de XQuery.
En primer lugar, necesitamos una ubicación de esquema WSDL válida.
Siga los pasos que se indican a continuación:
Paso 1. Crea un nuevo proyecto SOAP presionando CTRL + N y siga los pasos. Después de crear el proyecto, SOAPUI genera la lista de interfaces y las solicitudes correspondientes.
Paso 2. Para agregar el conjunto de pruebas a este proyecto, siga estos pasos:
- Haga clic derecho en el nombre de la interfaz MedicareSupplierSoap
- Hacer clic Generar Testsuite opción del menú contextual
- Haga clic en Aceptar en la siguiente ventana que aparece:

- En la siguiente ventana emergente, debe ingresar el nombre de su suite de prueba deseada y hacer clic en Aceptar
- SOAPUI PRO generará el conjunto de pruebas junto con las solicitudes en el panel de navegación.
- En el conjunto de pruebas, verá algunos de los pasos de prueba con el paso de solicitud SOAP.
Paso 3. Para ejecutar este conjunto de pruebas, haga doble clic en el paso de solicitud y especifique el valor de entrada en la ubicación respectiva. Por ejemplo, abra GetSupplierByCity solicitar y entrar Nueva York entre las etiquetas de la ciudad.
- Inicie esta solicitud haciendo clic en el icono EJECUTAR; esto recibirá la respuesta.
- Ahora agreguemos afirmaciones. Para eso, haga clic en el Afirmaciones pestaña presente en la parte superior de las pestañas de registro.
- Al hacer clic con el botón derecho, aparecerá un menú emergente con algunas opciones básicas relacionadas con la afirmación como se muestra a continuación:

# 1) Contiene afirmación
Haga clic en la opción Agregar afirmación o haga clic en ella desde la barra de herramientas - Agregar afirmación Aparece una ventana en la pantalla con diferentes tipos de afirmaciones.
1. Haga clic en Contenido de la propiedad categoría de la lista: se muestran los tipos de aserción asociados y su descripción
2. Haga clic en Contiene afirmación y haga clic en el botón Agregar
3. Esta es la ventana de configuración de la aserción. Aquí mismo tenemos que especificar la condición esperada en función de la respuesta.
Por ejemplo esdejame entrar Nueva York texto en este campo de texto. Ignorar caso en comparación La casilla de verificación ignorará incluso si el valor esperado está en mayúsculas o minúsculas.

4. Ahora ejecute el conjunto de pruebas y verifique los resultados. Como ha visto en la ventana de la suite de pruebas, el verde indica la ejecución exitosa y el rojo indica falla.
# 2) No contiene afirmación
Podemos usar la aserción 'no contiene' para validar solicitudes en escenarios negativos. Nosotros podemos usar GetSupplierByZipCode solicitud para aprender eso.
Abra la pestaña de solicitud haciendo doble clic en ella. En la solicitud de entrada, ingrese el código postal no válido en la ubicación adecuada, como 10029 . Ejecute esta solicitud ahora. Verifique los datos de respuesta que tienen los detalles del proveedor para el código postal dado; mire la imagen a continuación:
(Pulsa sobre la imagen para agrandarla)

La afirmación 'no contiene', se resalta en color verde ya que se ejecuta correctamente.
En la ventana de configuración, hemos configurado con valor esperado positivo como se muestra a continuación:

Devuelve verdadero si no se encuentra el valor condicional esperado y devuelve falso si el valor esperado se encuentra en el mensaje de respuesta.
Del mismo modo, podemos cambiar la condición y ejecutar la solicitud una vez más. Genera los resultados en consecuencia.
# 3) Aserción de coincidencia de XPath
La afirmación de coincidencia de XPath es un poco diferente en términos de que afirmará la respuesta utilizando datos de respuesta reales.
Por ejemplo , si tenemos un servicio web de autenticación de inicio de sesión que autenticará las credenciales del usuario y enviará el acuse de recibo al cliente con algún tipo de datos booleano que puede ser VERDADERO o FALSO en forma de XML.
Como sabe, los documentos XML se crean mediante etiquetas. Entonces, al especificar el valor esperado en la configuración, debe estar en forma de XML.
mejores estudios de juegos para trabajar
Intentemos hacer eso:
Agregue una afirmación más para el GetSupplierByCity solicitud. En la ventana Agregar afirmación, haga clic en el Contenido de la propiedad categoría y luego haga clic en Partido XPath afirmación.

Se muestra la siguiente ventana:

La sección superior es la parte de la declaración y la sección inferior es la parte del resultado esperado.
Cuando hacemos clic en el Declare opción obtendremos algunos scripts de declaración generados automáticamente como a continuación:
declarar espacio de nombres soap = ’http: //schemas.xmlsoap.org/soap/envelope/’;
declare el espacio de nombres ns1 = ’http: //www.webservicex.net/’;
En los scripts anteriores, la primera línea indica la respuesta que debe ser datos XML y etiquetas SOAP adjuntas. En la siguiente línea, se asignará o copiará toda la respuesta en el ns1 variable de espacio de nombres durante la ejecución. Si queremos filtrar datos particulares de toda la respuesta, tenemos que agregar el siguiente script.
// ns1: SupplierData (1)
Como sabe, si ejecuta el GetSupplierByCity solicitud, producirá la respuesta que contiene la lista de datos personales del proveedor que pertenece a Nueva York .
Aquí, hemos usado Partido XPath expresión para extraer los datos personales del proveedor específico de la respuesta masiva. Para ese propósito, hemos utilizado un ns1 variable. Ahora haga clic en el Seleccionar de una corriente botón.
Entonces SOAPUI genera el siguiente resultado:
|_+_|Consulte esta captura de pantalla:

Aquí, en los datos de respuesta, solo puede ver los datos personales de un proveedor. Según el número que está presente dentro de los corchetes angulares, se generará la salida.
Hasta ahora, se trata de elegir la parte de la respuesta que se requiere, ¿cómo podemos / estamos usando Partido XPath ¿afirmación?
Vamos a eso: Haga clic en el botón Guardar una vez que esté de acuerdo con la respuesta.
Inicialmente, si hubiera ejecutado este servicio después de configurar la aserción de coincidencia XPath sin cambios, el resultado será una respuesta exitosa, el estado resaltado en verde.
Pero cambiemos el parámetro de entrada en la solicitud de entrada a algo que sea una ciudad no válida: 'XYZ o ABC'. Ejecute la solicitud y verifique los resultados, así como el estado de la aserción. Obtendremos una respuesta de falla y una indicación de estado rojo para la afirmación. Debido a que ya habíamos especificado que los datos del proveedor en particular deberían estar presentes en la respuesta del servicio en la configuración del resultado esperado y cuando el nombre de la ciudad no es válido, ese proveedor claramente no está presente.
Así es como podemos afirmar la respuesta XML utilizando la afirmación de expresión XPath Match. Estuve de acuerdo en que esto es bastante simple para empezar, pero si prueba con diferentes respuestas de servicio, obtendrá una idea mucho mejor.
También podemos usar funciones agregadas en la expresión XPath Match. Son Sum, Min, Max, Count y Avg.
Por ejemplo , si queremos saber el número total de proveedores que cuentan en los resultados esperados, escribimos el siguiente guión.
count (// ns1: SupplierData) y vuelve 536 como resultado. Recuerde que todas las funciones agregadas deben estar en minúsculas.
# 4) Aserción de coincidencia de XQuery
Esto es ligeramente similar a la afirmación de XPath Match. Como hemos visto en la configuración de la aserción XPath Match, habrá dos secciones: declaración y resultado esperado.
- Agregar aserción de XQuery Match para la solicitud
- En la ventana de configuración, haga clic en declare botón y escriba el siguiente script
- Ahora haga clic Seleccionar de Actual botón
- SOAPUI genera la respuesta para el script
La expresión XQuery también admite la expresión XPath Match, pero tiene su propia sintaxis de secuencias de comandos que no se puede utilizar en la aserción XPath Match.
Por ejemplo :
Veremos un ejemplo para obtener toda la respuesta de datos del proveedor utilizando la expresión XQuery. Mire esta captura de pantalla de muestra para comprender mejor.

Guión real:
|_+_|Hay más funciones integradas disponibles para usar en la expresión XQuery. Son donde, ordenar por, para, regresar y así.
Conclusión
Bueno, esas son las afirmaciones más utilizadas para usted.
El punto de énfasis aquí es que: Las afirmaciones son más importantes para predecir con precisión el resultado esperado de los servicios web. Esa es la razón por la que es una de las claves características en SOAPUI PRO .
Siguiente tutorial : En el siguiente tutorial, nos pondremos geniales con los conceptos básicos de secuencias de comandos y más ...
Manténgase conectado. Como siempre, sus comentarios, preguntas y sugerencias son bienvenidos.
Lectura recomendada
- Cómo realizar pruebas basadas en datos en SoapUI Pro - Tutorial de SoapUI n. ° 14
- Más de 15 tutoriales de SoapUI: la mejor herramienta de prueba de API de servicios web
- Tutoriales detallados de Eclipse para principiantes
- Cómo utilizar propiedades en SoapUI Groovy Script - Tutorial de SoapUI n. ° 7
- 7 características importantes de SoapUI y SoapUI Pro - Tutorial 2
- Trabajar con propiedades de SoapUI - Tutorial de SoapUI n. ° 8
- 4 características importantes de SoapUI Pro para audiencias profesionales - Tutorial de SoapUI n. ° 12
- Proceso de descarga e instalación de SoapUI paso a paso - Tutorial de SoapUI n. ° 3