Afirmaciones en SoapUIScripts, XQuery, tipos XPath

⚡ Resumen inteligente

Afirmaciones en SoapUI Son los puntos de control que deciden si la respuesta de un servicio web es correcta, convirtiendo una solicitud que simplemente se ejecuta en una prueba que realmente pasa o falla con contenido real y verificable.

  • 🔘 Categorías: Contenido de la propiedad, Cumplimiento/Estado/Estándares, Script, SLA, JMS y Seguridad.
  • ☑️ Contiene: Confirma que existe una cadena en la respuesta, con soporte para expresiones regulares.
  • ✅ No contiene: Confirma que una cadena está ausente, lo cual resulta útil para tokens de error y campos filtrados.
  • 🧪 Coincidencia de XPath: Primero, declare el espacio de nombres y, a continuación, seleccione un nodo y compare su valor.
  • 🛠️ Coincidencia XQuery: Valida conjuntos de nodos repetitivos que, de otro modo, requerirían cientos de comprobaciones XPath.
  • 📊 Guión: Groovy Las aserciones gestionan las respuestas dinámicas y la lógica de configuración o desmontaje.
  • 🔍 Solución de Problemas: La mayoría de los fallos se deben a un espacio de nombres incorrecto y al uso de un punto en lugar de dos puntos.

Afirmaciones en SoapUI

¿Qué es una afirmación?

Aserción significa acto de afirmar o afirmar algo. También puede interpretarse como un punto de control o un punto de validación.

Una vez que se envía una solicitud a un servidor web, se recibe una respuesta. Necesitamos validar si la respuesta contiene los datos que esperamos. Para validar la respuesta, necesitamos usar aserciones. Sin una aserción, un paso de prueba solo demuestra que el servicio respondió, no que respondió correctamente, por lo que cada Prueba de API debería llevar al menos uno.

Tipos de afirmación

Hay varias formas de afirmar una respuesta; sin embargo, nos centraremos en las más utilizadas. SoapUI tipos de aserción al validar una respuesta. A continuación se muestran las categorías que están disponibles en la versión de código abierto de SoapUI.

  1. Contenido de la propiedad
  2. Estándar de estado de cumplimiento
  3. Script
  4. SLA
  5. JMS
  6. Seguridad

El cuadro de diálogo agrupa todas las afirmaciones bajo esas categorías, como se muestra en la captura de pantalla a continuación.

Categorías de aserciones enumeradas en el SoapUI Cuadro de diálogo Agregar aserción
Tipos de afirmaciones en SoapUI

Además de las funciones mencionadas anteriormente, la versión Pro también incluye una función de aserción JDBC integrada que nos permite verificar si el servicio web ha actualizado correctamente la base de datos.

Nota de versión: corriente SoapUI La documentación también enumera un JDBC categoría (Estado JDBC y Tiempo de espera JDBC) junto con las categorías anteriores, y una Contenido del mensaje afirmación dentro del Contenido de la propiedad para una comparación XML más completa. La edición comercial a la que se hace referencia aquí como "Pro" ahora se vende como ReadyAPI Desarrollado por SmartBear, por lo que las etiquetas del menú en las versiones más recientes pueden mostrarse de forma diferente, aunque el comportamiento de la aserción se mantiene igual.

Contiene afirmación

Busca la existencia de la cadena especificada. También admite expresiones regulares.

Continuaremos con el mismo ejemplo del tutorial anterior con solicitud WSDL como http://www.dneonline.com/calculator.asmxSi aún no has creado ese proyecto, trabaja a través de Creación de un proyecto, un conjunto de pruebas y un caso de prueba. de antemano.

Paso 1: Por defecto no hay aserciones.

  1. El número de afirmaciones se muestra en la pestaña Afirmaciones.
  2. Para agregar una nueva afirmación, haga clic en el botón "Agregar nueva afirmación".

SoapUI Pestaña Aserciones que no muestra ninguna aserción y el botón Agregar nueva aserción

Paso 2: Ahora

  1. Seleccione la categoría de afirmación.
  2. Seleccione el tipo de afirmación.
  3. Haga clic en 'Agregar'

Agregar cuadro de diálogo de aserción con la categoría y el tipo de aserción seleccionados.

Paso 3: Vamos a comprobar si la cadena '46' existe en la respuesta. Haz clic en 'Aceptar'.

Nota: También podemos ignorar mayúsculas y minúsculas y agregar expresiones regulares.

Contiene un cuadro de diálogo de configuración de aserción con el valor 46 introducido.

Paso 4: Al agregarlo, se ejecuta inmediatamente la aserción y muestra si es VÁLIDO o INVÁLIDO.

La pestaña de aserciones informa que la aserción Contains es VÁLIDA.

Paso 5: Ahora supongamos que cambiamos el contenido de 'Contains Assertion en SoapUI' a '47 y veamos qué pasa.

Edición del contenido de la aserción Contains de la página 46 a la 47.

Paso 6: Se ejecuta la aserción y se muestra el resultado al usuario. Como no encontramos la cadena '47' en la respuesta, la aserción ha fallado.

La pestaña de aserciones informa que la aserción Contains ha fallado.

No contiene afirmación

Su contraparte funciona a la inversa. Busca la inexistencia de la cadena especificada. También admite expresiones regulares.

Paso 1: Ahora, después de hacer clic en el botón 'agregar nuevas aserciones',

  1. Seleccione la categoría de afirmación.
  2. Seleccione el tipo de afirmación: en este caso, "NO contiene".
  3. Haga clic en 'Agregar'

Agregar cuadro de diálogo de aserción con la opción NO contiene seleccionada

Paso 2: Validemos si la cadena 'intA' existe en la respuesta. Introduzca la cadena 'FromCurrency' y haga clic en 'Aceptar'.

No contiene cuadro de diálogo de aserción con la cadena FromCurrency ingresada

Paso 3: Tan pronto como se agrega una aserción, se ejecuta y muestra el resultado. Hasta ahora hemos agregado dos aserciones, por lo que ambas se ejecutan y muestran el resultado.

Pestaña de afirmaciones que muestra los resultados de Contiene y No contiene.

Paso 4: Ahora vamos a cambiar el contenido de la 'Aserción No Contiene' y veremos qué sucede. Comprobaremos si la cadena "AddResult" no existe.

No contiene el cuadro de diálogo de aserción que comprueba el token AddResult

Paso 5: La cadena 'AddResult' está presente en la respuesta, por lo tanto, la aserción 'NOT Contains' fallará como se muestra a continuación.

La aserción Not Contains falla porque AddResult está presente.

Aserción de coincidencia XPath

La coincidencia de cadenas es poco precisa, por lo que la siguiente aserción se dirige a un único nodo. Utiliza una expresión XPath para seleccionar el nodo de destino y sus valores. XPathes un lenguaje de consulta XML para seleccionar nodos de un documento XML.

Paso 1: Ahora, después de hacer clic en el botón 'Agregar nuevas aserciones',

  1. Seleccione la categoría de afirmación.
  2. Seleccione el tipo de afirmación: en este caso, "XPath Match"
  3. Haga clic en 'Agregar'

Agregar cuadro de diálogo de aserción con coincidencia XPath seleccionada

Paso 2: Agregar XPath. Se abre la ventana.

Antes de agregar un SoapUI XPath, necesitamos declarar el espacio de nombres. Un espacio de nombres XML es una colección de nombres, identificados por una referencia de Identificador Uniforme de Recursos (URI), que se utilizan en documentos XML como nombres de elementos y atributos. Lo mismo se utiliza en el SoapUI Aserción XPath.

Para declarar un espacio de nombres XML, solo tenemos que hacer clic en el botón "Declarar", que hará el trabajo por nosotros; de lo contrario, también podemos declarar manualmente un espacio de nombres nosotros mismos.

Después de declarar el espacio de nombres, necesitamos hacer referencia a la ruta XPath utilizando el espacio de nombres creado.

Al hacer clic en el botón "Declarar", aparecerán dos espacios de nombres, ya que tenemos dos URI. Uno de ellos es el esquema. URL y el otro corresponde al servicio web propiamente dicho URLNecesitamos usar el espacio de nombres real donde se encuentra el servicio web y NO el espacio de nombres del esquema al hacer referencia a XPath. Las líneas declaradas aparecen en la parte superior del cuadro XPath, como se muestra a continuación.

Espacios de nombres soap y ns1 declarados dentro de la ventana de aserción XPath

declarar espacio de nombres jabón =’http://schemas.xmlsoap.org/soap/envelope/’;

declarar espacio de nombres ns1=’http://tempuri.org/’;

Ventana de aserción XPath inmediatamente después de hacer clic en Declarar

Paso 3: Ahora necesitamos introducir la ruta XPath del nodo XML que necesitamos validar.

//ns1:AddResult Nos da el valor del nodo encerrado entre & y ns1 corresponde al espacio de nombres declarado que apunta a 'http://tempuri.org/'

Después de ingresar el XML, debemos hacer clic en "Seleccionar del actual" para que el valor de la respuesta actual se seleccione para compararlo en el futuro.

Expresión XPath introducida con Seleccionar de la selección actual resaltada

Paso 4: Hasta ahora,

  1. Después de declarar los espacios de nombres, ingresamos el XPath del nodo XML que necesitamos validar.
  2. Necesitamos hacer clic en 'Seleccionar de actual' para que el valor actual sea el valor esperado.
  3. El valor actual se muestra al usuario y podemos modificarlo si es necesario.
  4. Clic en Guardar'.

Configuración de coincidencia XPath que muestra el valor esperado y el botón Guardar.

Paso 5: La aserción añadida en SoapUI Se mostrará como se indica a continuación.

Pestaña de aserciones que muestra la aserción de coincidencia de XPath añadida

Afirmaciones de secuencias de comandos

Esta técnica de afirmación es la más utilizada ya que es extremadamente difícil gestionar y mantener cientos de afirmaciones.

SoapUI usa ya sea Groovy secuencias de comandos o JavaScript para la creación de scripts de aserciones. La técnica de scripting se adopta para el desarrollo.ping Un marco para probar SOAP. Las aserciones de script se utilizan en las siguientes circunstancias.

  • La programación de scripts permite al usuario realizar ciertas operaciones antes y después de ejecutar un caso de prueba mediante los métodos `setup` y `teardown`, respectivamente. `setup` es un procedimiento que se ejecuta antes de ejecutar un método específico (por ejemplo, la creación e inicialización de objetos), mientras que `teardown` es un procedimiento que se ejecuta después de ejecutar el método (por ejemplo, la destrucción de objetos y la limpieza). Esta funcionalidad no está disponible en otros tipos de aserciones y solo se puede implementar mediante código.
  • Permite a los usuarios abrir y cerrar un proyecto, inicializar o limpiar la configuración relacionada con el proyecto y también trabajar con variables de entorno, lo cual resulta muy útil durante la creación de scripts.
  • Nos ayuda a afirmar un contenido de Respuesta dinámico.
  • Las aserciones de scripting se utilizan para crear aserciones definidas por el usuario que NO están predefinidas por SoapUI.

Para demostrar una aserción de script en SoapUIHaremos uso del WSDL de la calculadora, el caso de prueba 'Add' que habíamos creado anteriormente.

Paso 1: Los pasos para agregar un script Groovy son los mismos que para otras aserciones, con la diferencia de que esta aserción no es predefinida. En cambio, es una aserción definida por el usuario, lo que ofrece mayor flexibilidad que las integradas.

Seleccione el paso de prueba contra el cual se debe agregar la afirmación.

Paso de prueba seleccionado en el SoapUI navegador antes de agregar una aserción

Haga clic en el botón "Agregar afirmación" como se muestra a continuación.

Botón Agregar aserción en la barra de herramientas de aserciones del paso de prueba

Paso 2: Ahora seleccione la categoría de Aserción.

  1. En este caso es Script.
  2. Seleccionar SoapUI Aserción de script y no tiene subtipos asociados.
  3. Haga clic en 'Agregar'.

Agregar cuadro de diálogo de aserción con la categoría Script seleccionada.

Paso 3: Se abre el cuadro de diálogo de scripting, donde el usuario podrá escribir un script personalizado para validar la respuesta XML.

Vacío SoapUI diálogo del editor de aserciones de script

Paso 4: Ahora vamos a escribir un script Groovy para validar la tasa de conversión. El script se adjunta a continuación con los comentarios incorporados. Se recomienda tener conocimientos sobre Java Guión o Groovy Guión antes de intentar escribir su propio guión.

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. Haga clic en el botón "Ejecutar" para activar la ejecución.
  2. La salida del script se muestra en el panel Salida. Ha impreso tanto el valor de conversión como el resultado final (aprobado o reprobado).
  3. Se muestra la información "Se aprobó la aserción de script". Haga clic en Aceptar.

Nota: La ventana emergente de información final siempre se mostrará con el mensaje "Aserción del script aprobada", siempre y cuando el script sea sintácticamente correcto. No tiene correlación con su afirmación en el guión.

Panel de salida de la aserción del script que imprime el valor del resultado y Pass

haga clic en Aceptar

Paso 5: Ahora la pestaña de aserciones muestra todas las aserciones que hemos agregado para este conjunto de pruebas con el estado de cada una de ellas.

La pestaña Aserciones enumera todas las aserciones añadidas al conjunto de pruebas.

Paso 6: Ahora

  1. Seleccione el conjunto de pruebas en el árbol del Navegador.
  2. Haga clic en el botón "Ejecutar"
  3. Los resultados se mostrarán para todo el conjunto de pruebas.

Resultados de la ejecución del conjunto de pruebas tras ejecutar todas las aserciones.

Aserción de coincidencia XQuery

Utiliza una expresión XQuery para seleccionar contenido de la propiedad de destino. Necesitamos un XML de respuesta mucho más grande para comprender mejor la aserción XQuery en SoapUIImportemos otro WSDL como se muestra a continuación: http://www.webservicex.net/medicareSupplier.asmx?WSDL

Nota: Los puntos finales de demostración públicos de webservicex.net utilizados en este tutorial ya no son accesibles de forma fiable, por lo que las capturas de pantalla de la solicitud y la respuesta que aparecen a continuación se mantienen como ejemplo de referencia. Cualquier WSDL que devuelva un conjunto de nodos repetitivos comprobará la aserción XQuery exactamente de la misma manera.

Paso 1: Haga clic con el botón derecho en el proyecto existente y seleccione 'Agregar WSDL'.

Menú contextual del clic derecho en el SoapUI proyecto que muestra Agregar WSDL

Paso 2: Se abrirá el cuadro de diálogo Agregar WSDL. Deje las demás opciones por defecto y haga clic en el botón "Aceptar".

Agregar cuadro de diálogo WSDL con las opciones de importación predeterminadas.

Paso 3: Todas las operaciones se enumeran como se muestra a continuación.

Operaciones WSDL de proveedores de Medicare listadas en el árbol del navegador

Paso 4: Ahora agreguemos un Caso de prueba dentro del mismo conjunto de pruebas que habíamos creado para Pruebas el conversor de moneda.

Nueva opción TestCase en el conjunto de pruebas existente.

Paso 5: Introduzca el nombre del caso de prueba y haga clic en el botón 'Aceptar'.

Introducir el nombre del caso de prueba en el cuadro de diálogo Nuevo caso de prueba

Paso 6: El caso de prueba se crea como se muestra a continuación.

Caso de prueba recién creado en el SoapUI árbol navegador

Paso 7: Agregue un nuevo paso de prueba de tipo 'Solicitud de prueba SOAP' como se muestra a continuación.

Agregar menú de pasos con la solicitud de prueba SOAP seleccionada.

Paso 8: Introduzca el nombre del paso de prueba. Por ejemplo, «Proveedor_por_Ciudad», que sería más significativo. Haga clic en «Aceptar».

Denominación del nuevo paso de prueba: Proveedor_por_Ciudad

Paso 9: Seleccione el Operación que queremos validar. En este caso es 'MedicareSupplierSoap -> GetSupplierByCity'. Haga clic en 'Aceptar'.

Seleccionar la operación GetSupplierByCity para el paso de prueba.

Paso 10: Introduzca el nombre del caso de prueba y haga clic en 'Aceptar'.

Confirmación del nombre de la solicitud de prueba SOAP

Paso 11: El esquema XML de la solicitud se mostrará como se muestra a continuación.

Esquema XML de la solicitud GetSupplierByCity generada

Paso 12: Ahora vamos a buscar toda la información de los proveedores para la ciudad de Nueva York.

Para ello, agregue las siguientes líneas a su código.

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

WSDL a continuación URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

Solicitud XML editada con Nueva York como valor de la ciudad.

Paso 13: Al ejecutar la prueba, recibimos la siguiente respuesta.

Respuesta de GetSupplierByCity que contiene registros de proveedores repetidos

Paso 14: Supongamos que necesitamos validar todos los números de proveedor. No podemos usar aserciones XPath, ya que necesitaríamos cientos de ellas. Por lo tanto, el uso de XQuery es inevitable en este caso.

XQuery Assertion nos ayuda a validar un grupo de respuestas XML que son de naturaleza repetitiva.

Nodos SupplierData repetitivos sobre los que XQuery iterará

Paso 15: Ahora haga clic en 'Agregar una aserción',

  1. Seleccione la "Categoría de afirmación": Contenido de propiedad en este caso.
  2. Seleccione el tipo de afirmación como 'Aserción XQuery'
  3. Haga clic en 'Agregar'.

Aserción XQuery seleccionada en la categoría Contenido de la propiedad

Paso 16: De forma similar a la aserción XPath, necesitamos declarar el espacio de nombres.

  1. Haga clic en el botón 'Declarar' para permitir automáticamente SoapUI Para declarar el espacio de nombres, al hacer clic en el botón "Declarar", aparecerá una ventana emergente con el mensaje "Declarar espacio de nombres desde el esquema". Haga clic en "Sí" para continuar, como se muestra a continuación.
  2. Para recuperar todo el número de proveedor, debemos escribir una consulta XPath y la colocaremos dentro de las etiquetas y .
  3. Haga clic en 'Seleccionar de la actual' que se ejecutará a partir de la respuesta actual.
  4. Al hacer clic en 'Seleccionar de la lista actual', se mostrarán todos los números de proveedor.
  5. Clic en Guardar'.

Declarar espacio de nombres desde la ventana emergente de confirmación del esquema

Nota: Al pulsar el botón 'Declarar', es posible que obtenga resultados diferentes. URL's como declaración de espacio de nombres, sin embargo, el espacio de nombres de la ubicación real del servicio web es lo que se consideraría para la codificación.

La expresión XQuery finalizada, con sus declaraciones de espacio de nombres, tiene este aspecto.

// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

Ventana de expresiones XQuery que muestra todos los números de proveedores

Paso 17: Se ejecuta la aserción XQuery y el resultado final se muestra en el panel "Aserciones", como se muestra a continuación. Ahora hemos agregado correctamente una aserción XQuery con la que hemos validado toda la información del número de proveedor. Esta información se comparará con los datos reales cada vez que se envíe una solicitud al servidor web.

Nota: No se mostrarán los valores reales. Si todos los valores reales son iguales a los valores esperados, se mostrará "VÁLIDO"; de lo contrario, se mostrará "Error".

Panel de aserciones que muestra el resultado de la aserción XQuery.

¿Cuándo utilizar la afirmación incorporada?

Una vez cubiertas las opciones de apuntar y hacer clic y las opciones mediante scripts, la pregunta práctica es cuál elegir.

  • Cuando una respuesta es corta y puede validarse utilizando una de esas afirmaciones incorporadas.
  • También podemos utilizar la aserción incorporada si la respuesta enviada desde el servidor web es siempre de naturaleza estática. Si es dinámico, no podremos afirmarlo utilizando aserciones incorporadas.
  • Cuando el uso de aserciones incorporadas, como aserciones de tiempo de espera y aserciones de seguridad, se vuelve inevitable.
  • Las afirmaciones incorporadas son bastante buenas para un uso único en el que no es necesario repetir las pruebas.

Opciones de afirmaciones

Las aserciones creadas se pueden controlar mejor con la ayuda del panel de control que se destaca a continuación.

Panel de control de la caja de herramientas de aserciones en SoapUI

Las afirmaciones creadas permiten a los evaluadores configurar las siguientes cosas desde la caja de herramientas de afirmaciones.

Opción Mareas Ideales para Lecciones
Mover la afirmación hacia arriba icono La Aserción seleccionada sube en el orden.
Mover el icono de afirmación hacia abajo La afirmación seleccionada baja en el orden.
Eliminar icono de aserción Elimina la afirmación seleccionada
Icono de configuración o edición de aserción Reconfigurar/editar la aserción seleccionada.

A continuación se detallan las características disponibles exclusivamente en la versión Pro de SoapUI, ahora se envía como ReadyAPILa versión Pro también nos ayuda a agrupar aserciones para que podamos agregar una capa más de validación a las aserciones creadas.

  • Y: Todas las aserciones se evalúan como aserciones VÁLIDAS, lo que dará como resultado una condición de grupo APROBADA.
  • O: Al menos una de las afirmaciones dentro del grupo debe ser VÁLIDA para poder afirmar una condición de grupo APROBADA.
  • La versión Pro también permite Clonación de afirmacionesEsta opción permite a los evaluadores autorizar la copia de una aserción a un paso de prueba diferente en el mismo proyecto o en uno diferente.
  • Deshabilitar/Habilitar aserciones: Esta opción permite deshabilitar o habilitar cualquier aserción, ya sea agrupada o no. Si una aserción está deshabilitada, aparecerá atenuada y, al ejecutar un caso de prueba, las aserciones deshabilitadas no se ejecutarán.
  • Desagrupar aserciones: Cualquier aserción agrupada puede desagruparse si los evaluadores así lo deciden.

Lista completa de métodos disponibles en varios tipos de afirmaciones

La tabla que aparece a continuación recopila todas las afirmaciones mencionadas anteriormente, agrupadas por la categoría en la que aparecen en el cuadro de diálogo Agregar afirmación.

Mecanismo de afirmación Mareas Ideales para Lecciones
CONTENIDO DE LA PROPIEDAD
Contiene Busca la existencia de la cadena especificada. También admite expresiones regulares.
no contiene Busca la inexistencia de la cadena especificada. También admite expresiones regulares.
Coincidencia XPath Utiliza la expresión XPath para seleccionar el nodo de destino y sus valores.
Coincidencia de XQuery Utiliza una expresión XQuery para seleccionar contenido de la propiedad de destino.
Cumplimiento, Estado, Estándares
HTTP Descargar todos los recursos Valida el documento HTML después de la descarga y se mantiene válido para cualquier propiedad que contenga HTML.
Estado HTTP no válido Codes Verifica si la respuesta HTML contiene un código de estado que no está en la lista de códigos definidos.
No es culpa de SOAP Verifica si el último mensaje recibido no es una falla SOAP. Es muy obvio que solo se aplica a los pasos de prueba de SOAP.
Cumplimiento del esquema Verifica si el último mensaje recibido cumple con la definición de esquema estándar WSDL o WADL. Es válido para los pasos de prueba SOAP y REST.
Fallo de jabón Verifica si el último mensaje recibido es una falla SOAP. Es lo inverso de las afirmaciones de error "NO SOAP".
Respuesta SOAP Verifica si la última respuesta recibida es una respuesta SOAP válida y es válida únicamente para los pasos de solicitud de prueba SOAP.
Estado HTTP válido Codes Verifica si la respuesta HTML contiene un código de estado que se encuentra en la lista de códigos definidos. Es lo opuesto a 'Estado HTTP no válido'. CodeAfirmación de s.
Solicitud de direccionamiento WS Verifica si la última solicitud recibida contiene encabezados WS-Addressing adecuados.
Respuesta de direccionamiento WS Verifica si la última respuesta recibida contiene encabezados WS-Addressing adecuados.
Estado de seguridad WS Valida si el último mensaje recibido contiene encabezados WS-Security válidos y solo es válido para solicitudes SOAP.
Script
Afirmación de guión Permite a los usuarios ejecutar un script personalizado para realizar validaciones definidas por el usuario.
SLA
SLA de respuesta Valida si el tiempo de respuesta de la última respuesta recibida estuvo dentro del límite definido.
JMS
Estado JMS Verifica si la solicitud JMS del paso de prueba se ha ejecutado correctamente y es válida para los pasos de prueba con un punto final JMS.
Tiempo de espera JMS Verifica si la respuesta JMS de un paso de prueba no tardó más que la duración especificada.
Seguridad
Exposición de información confidencial Verifica si el mensaje de respuesta no expone información confidencial sobre el sistema de destino. Podemos utilizar esta afirmación para los pasos de prueba REST, SOAP y HTTP.

DESCARGUE EL PROYECTO SOAPUI QUE CONTIENE LAS Afirmaciones ANTERIORES

Errores comunes y solución de problemas

La mayoría de los fallos de aserción tracVolvemos a un pequeño conjunto de errores, así que revísalos antes de reescribir una expresión.

  • Utilice el espacio de nombres correcto. El espacio de nombres debe ser el URL donde se encuentra el servicio web.
  • Si se produce un error durante el desarrolloping una aserción de script, use 'log.info' para imprimir el contenido de las variables.
  • Si no ha obtenido el resultado deseado, verifique si se pasa una entrada válida en la solicitud.

Por ejemplo, en un convertidor de divisas, si se introduce 'intA' como 'x', que no es un número entero, la salida arroja un código de error 'SOAP-Client', lo que significa que el problema reside en el parámetro que se pasa desde el cliente. La solicitud con el valor no válido se muestra primero.

SoapUI Solicitud que pasa un valor no entero no válido para intA

La respuesta devuelve el código de error en lugar de un resultado, como se muestra a continuación.

Código de error del cliente SOAP devuelto en el SoapUI editor de respuestas

Asegúrese de usar la sintaxis correcta al usar XPath y las aserciones XQuery. NO debe usar el punto (.) en lugar de los dos puntos (:) al usar la aserción anterior. La sintaxis es //namespace:Tagname y NO //namespace.tagname. Si lo hace, podría recibir el mensaje "No se encontró ninguna coincidencia en la respuesta actual", aunque el nombre de la etiqueta sea correcto.

No se encontró ninguna coincidencia en la respuesta actual debido a una sintaxis XPath incorrecta.

Preguntas Frecuentes

Cualquier número. SoapUI Aplica todas las aserciones adjuntas a un paso de prueba de muestreo después de su ejecución, y el paso se marca como fallido en la vista del caso de prueba si falla incluso una sola de esas aserciones.

Compara un mensaje XML con un documento esperado nodo por nodo, de modo que se pueden ignorar o comparar campos seleccionados en lugar de tratar toda la carga útil como una sola cadena simple.

De código abierto SoapUI Abarca el contenido de la propiedad, el cumplimiento normativo, los scripts, los acuerdos de nivel de servicio (SLA), el sistema de gestión de contenido (JMS) y la seguridad. ReadyAPI agrega sueloping, clonación, comprobaciones JDBC y control de habilitación o deshabilitación.

Los modelos de IA leen una respuesta de muestra y sugieren expresiones XPath o XQuery, proponen valores límite e identifican los campos que cambian en cada ejecución, lo que reduce considerablemente el trabajo manual de escritura de espacios de nombres y expresiones.

Sí. Copilot autocompletar GroovyCódigo base para utilidades y XmlHolder. Ejecute siempre primero el script, ya que un script sintácticamente válido informa que la aserción del script se ha superado, independientemente de la comparación.

Sí. Los campos de contenido de las aserciones admiten la expansión de propiedades, por lo que el valor esperado se puede obtener de una propiedad del proyecto o del caso de prueba en lugar de un valor literal, lo que permite reutilizar una misma aserción en diferentes entornos.

Una aserción fallida marca su paso de prueba como fallido en la vista del caso de prueba y escribe una entrada FALLIDA correspondiente, con los detalles del fallo, en el registro de ejecución de pruebas en la parte inferior de la ventana.

Contiene, No contiene, Coincidencia XPath, Coincidencia XQuery, SLA de respuesta, Script, códigos de estado HTTP válidos e inválidos, Exposición de información confidencial y Cumplimiento del esquema con respecto a un esquema WADL o inferido.

Resumir este post con: