working with soapui properties soapui tutorial 8
Este tutorial trata sobre las propiedades de SoapUI. En el último tutorial de SoapUI vimos cómo agregar propiedades en el script Groovy .
Una propiedad en JABÓN es similar a una variable / parámetro y en este tutorial hablaremos sobre cómo usar uno en una solicitud de servicio y asignarle un valor de respuesta a través de un script. Más adelante, pasaremos al paso de prueba de transferencia de propiedad y luego a la importación de propiedades.
Este es el octavo tutorial de nuestro Capacitación en línea de SoapUI serie.
¿Qué aprenderá de este tutorial de SoapUI?
- Diferentes caras de propiedades
- Integración de propiedades en la solicitud de servicio
- Comprender el paso de la prueba de transferencia de propiedad
- Cargar propiedades externamente
Hay dostipos de propiedades en SoapUI:
- Propiedades predeterminadas : incluido en la instalación de SoapUI. Podemos editar algunas de las propiedades predeterminadas, pero no todas.
- Propiedades personalizadas / definidas por el usuario : Estos los definimos en cualquier nivel necesario, como global, proyecto, conjunto de pruebas, caso de prueba o paso de prueba.
Muy a menudo, las propiedades se utilizan para almacenar y recuperar los datos mientras se ejecutan los casos de prueba. Internamente, la propiedad almacenará el valor en formato de par de claves.
Por ejemplo , en la siguiente declaración, 'Local_Property_FromCurrency' es un nombre clave y 'USD' se refiere al valor. Para acceder al valor de la propiedad, necesitamos usar el nombre de la propiedad.
testRunner.testCase.testSteps ('Propiedades'). setPropertyValue
( “ Local_Property_FromCurrency “, ‘USD’ )
Lo que vas a aprender:
- Varios niveles de propiedad en SoapUI Pro
- Más detalles sobre propiedades con ejemplos
- Usar propiedades en servicios
- Transferencia de propiedad
- Conclusión
- Lectura recomendada
Varios niveles de propiedad en SoapUI Pro
Analicemos los distintos niveles de propiedad en SoapUI Pro. En SoapUI hay tres niveles de propiedades disponibles.
Nivel 1. Proyecto y propiedades personalizadas
En este nivel, las propiedades se dividen en dos secciones. Son propiedades del proyecto y propiedades personalizadas. Estos aparecerán en la parte inferior del panel de navegación cuando hagamos clic en el nombre del proyecto. La sección de propiedades del proyecto tiene propiedades predeterminadas que se crean durante la creación del proyecto, por ejemplo, nombre, descripción, archivo, etc.
Para crear nuestras propias propiedades, podemos usar la pestaña de propiedades personalizadas. Haga clic en el icono más para crear propiedades:
Hay muchas otras opciones disponibles, como eliminar, subir, bajar y ordenar al lado para agregar. Cualquier sección (conjunto de pruebas, casos de prueba) del proyecto puede agregar y utilizar cualquier cantidad de propiedades personalizadas.
Nivel 2. Test Suite y propiedades personalizadas
Estas propiedades solo son visibles en el conjunto de pruebas. Un conjunto de pruebas puede contener cualquier número de propiedades y se puede acceder a ellas desde cualquier paso de prueba que pertenezca a dicho conjunto de pruebas.
Las propiedades de la suite de pruebas aparecen cuando se hace clic en el nombre de la suite de pruebas respectiva debajo del proyecto. Para agregar propiedades personalizadas según sea necesario, haga clic en la pestaña de propiedades personalizadas y haga clic en el signo '+' debajo de ella.
Propiedad # 3. Caso de prueba y propiedades personalizadas
Las propiedades del caso de prueba son accesibles dentro del caso de prueba. No se puede acceder a ellos mediante otros pasos del caso de prueba o incluso el conjunto de pruebas del proyecto.
optimizador de sistema gratuito para windows 7
Más detalles sobre propiedades con ejemplos
Las propiedades pueden almacenar puntos finales, detalles de inicio de sesión, información de encabezado y dominio, etc. aunque hemos discutido sobre la escritura y lectura de datos hacia / desde las propiedades, todavía tenemos que discutir este tema en detalle con un ejemplo.
Los niveles de propiedades discutidos anteriormente se utilizan en secuencias de comandos para leer los datos.
# 1. Propiedades de lectura:
Veremos cómo podemos leer las propiedades en un script maravilloso. Para acceder a diferentes propiedades de nivel, la siguiente es la sintaxis:
Proyecto: Sintaxis: $ {# Nombre del proyecto # Valor}
Ejemplo:
def pr ojectPro = testRunner.testC a se.testSuite.project.getPropertyValue
('Project_Level_Property')
'Project_Level_Property')
log.info (projectPro)
Conjunto de pruebas: Sintaxis: $ {# TestSuite # Value}
Ejemplo:
def testP ro = testRunner.testCase.testSuite.getPropertyValue ('Testsuite_Property')
log.info (testPro)
Caso de prueba: Sintaxis: $ {# TestCase # Value}
Ejemplo:
def prueba casePro = testRunner.testCase.getPropertyValue ('Testcase_Property')
log.info (testcasePro)
Consulte la captura de pantalla a continuación:
# 2. Escribiendo a propiedades:
Para hacer esto, tenemos que usar setPropertyValue método.
Sintaxis: setPropertyValue ('nombre de propiedad', 'valor')
Si asignamos valores a propiedades desconocidas, SoapUI creará estas propiedades nuevamente. Para las propiedades existentes recibirá los valores durante la asignación.
# 3. Eliminación de propiedades mediante script:
Esto se puede hacer haciendo clic derecho en el nombre de la propiedad desde el panel de propiedades. Luego haga clic en la opción Eliminar del menú contextual.
Para hacer esto, usando un script para eliminar las propiedades personalizadas, use las siguientes declaraciones para los niveles de proyecto, suite de prueba o caso de prueba, respectivamente:
testRunner.testCase.testSuite.project.removeProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty ('Testcase_Property');
Los scripts anteriores no son óptimos cuando tenemos varias propiedades en cada nivel, ya que estos pasos deben repetirse varias veces para cada propiedad. Una alternativa es iterar las propiedades a través del script como se muestra a continuación:
testRunner.testCase.properties.each
{
clave, valor ->
testRunner.testCase.removeProperty (clave)
}
El script anterior iterará hasta la última propiedad disponible en el caso de prueba. ' Llave 'Hace referencia al nombre de la propiedad donde como' valor ”Denota el valor real de la propiedad. Podemos modificar el script anterior para eliminar la lista de propiedades masiva presente en varios niveles.
# 4. Agregar propiedad:
AddProperty Para esto se utiliza un método cuya sintaxis es:
addProperty (nombre de la propiedad);
Esto se puede adaptar para cada nivel de la siguiente manera:
testRunner.testCase.testSuite.project.addProperty ('ProjectProperty1')
testRunner.testCase.testSuite.addProperty ('TestsuiteProperty1')
testRunner.testCase.addProperty ('TestcaseProperty1')
Después de ejecutar los scripts anteriores, haga clic en el nombre del proyecto / suite de prueba / caso de prueba. Compruebe la pestaña de propiedades personalizadas en el panel de propiedades y la propiedad creada aparecerá aquí. Consulte a continuación como referencia:
Usar propiedades en servicios
En esta sección, aprenderemos cómo podemos usar las propiedades en los servicios y utilizaremos los scripts anteriores para agregar, asignar y recuperar datos de propiedades con el servicio web de conversión de moneda.
Integración de propiedades en servicio:
Comencemos a agregar pasos de prueba como se muestra en la siguiente captura de pantalla.
En la captura de pantalla anterior, el paso de prueba AddProperties_Script contiene el siguiente script que agrega dos propiedades como Property_FromCurrency y Property_ToCurrency .
// Agregar propiedades
testRunner.testCase.addProperty ('Property_FromCurrency')
testRunner.testCase.addProperty ('Property_ToCurrency')
// Asignar valores a las Propiedades
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue ('Property_ToCurrency', 'INR')
En el ServiceRequest_CurrencyConverter_1 contiene la solicitud con parámetros de entrada como se ve a continuación:
Los valores asignados en las propiedades se transferirán a estos parámetros durante la ejecución. Siguiendo este paso de prueba, GetResponseData_Script El paso de prueba tiene el script que obtendrá el valor de respuesta y mostrará el resultado en el registro. Aquí está el guión.
// Obtener datos de respuesta del servicio
def respuesta = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = new XmlSlurper (). parseText (respuesta)
String ConvertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (valor convertido)
Una vez que todos los pasos estén listos, haga doble clic en el nombre del conjunto de pruebas y ejecute el conjunto de pruebas. Luego, haga doble clic en el ServiceRequest_CurrencyConverter_1 y vea la sección de respuesta.
Esto es lo que encontraríamos:
- Se recibirá respuesta
- Abra el registro de secuencia de comandos para ver los datos resultantes que se convierten en función de los parámetros de entrada
Así es como podemos pasar los parámetros a la solicitud de entrada y obtener la respuesta a través del script usando propiedades. Yendo más allá, también podemos pasar el valor de respuesta a otro servicio como entrada.
Transferencia de propiedad
El paso de prueba de transferencia de propiedad transfiere los datos de propiedad de una propiedad a otra durante la ejecución. Veamos brevemente cómo podemos crear el paso de prueba de transferencia de propiedad y cómo se transfiere el valor de la propiedad entre dos propiedades.
- Haga clic derecho en el nombre del caso de prueba debajo del conjunto de pruebas
- Hacer clic Agregar paso y luego haga clic en Propiedades opción del menú contextual
- Repita los pasos anteriores para crear la segunda propiedad. Vea la siguiente captura de pantalla:
- Ahora tenemos que agregar el paso de prueba de transferencia de propiedad.
- Haga clic derecho en el nombre del caso de prueba y haga clic en la opción de transferencia de propiedad en el menú contextual
- Ingrese el nombre de transferencia de propiedad que desee y luego haga clic en Aceptar
- Haga clic en Agregar, es decir, signo más en la barra de herramientas de transferencia de propiedad
- Especifique el nombre de la transferencia y luego haga clic en el botón Aceptar
- En el panel lateral derecho, hay dos secciones disponibles: Fuente y Destino.
Elija la fuente como Propiedades y propiedad como Property_Zipcode . Haz lo mismo en la sección de destino. Escoger Target_Property desde el menú desplegable de propiedades. Cuando se ejecuta el icono, el valor de la propiedad se transferirá de Property_Zipcode a Target_Property .
(Pulsa sobre la imagen para agrandarla)
Vea el valor transferido como se muestra en la siguiente captura de pantalla.
Nota: La propiedad de origen debe contener el valor predeterminado.
Además de esto, hay muchas opciones disponibles en la pantalla de transferencia de propiedad.
- Transferencia fallida por error
- Transferir contenido de texto
- Transferir a todos
- Titular valor transferido
- Establecer nulo en fuente faltante
- Ignorar valores vacíos / faltantes
- Utilice XQuery
- Transferir nodos secundarios
Cargar propiedades de una fuente externa:
Para cargar propiedades desde una fuente externa, siga estos pasos.
- Agregar paso de prueba de propiedades en el caso de prueba
- Ingrese el nombre del paso de la propiedad y luego haga clic en Aceptar
- En el panel de propiedades debajo del panel de navegación, haga clic en la pestaña Propiedades personalizadas
- Hacer clic
icono para cargar las propiedades del archivo de propiedades externo
Nota: El archivo de propiedad debe estar guardado o presente en su computadora. Para guardar las propiedades, haga clic en el icono.
Luego, vaya a la unidad respectiva y elija la propiedad como se muestra a continuación:
En Aceptar, podemos ver las propiedades cargadas y sus valores en la pestaña Propiedades personalizadas.
Conclusión
Bueno, ¡eso son propiedades para nosotros!
Las propiedades de cada nivel tienen sus propias características. Durante su práctica de SoapUI, intente incluir propiedades siempre que sea posible con el maravilloso paso de prueba del script para agregar, eliminar, asignar y recuperar datos de propiedades. Esto no solo es útil cuando practica con los servicios, sino que también es fundamental para las pruebas de aplicaciones reales, ya que esta técnica es muy útil para afirmar sus casos de prueba .
Transferir propiedades entre pasos de prueba es más fácil que escribir scripts repetidos para crear nuevos. SoapUI también ofrece la maravillosa función de importar y exportar propiedades. Esta función será útil cuando usemos propiedades comunes como detalles de inicio de sesión, detalles de sesión, etc., para múltiples proyectos. De esa manera, no tendremos que crear las mismas propiedades una y otra vez para varios proyectos. Simplemente podemos cambiar el valor de la propiedad frente a las propiedades en función de los proyectos.
Siguiente tutorial # 9 : En el próximo tutorial de SoapUI aprenderemos Declaraciones condicionales en Groovy como:
- Declaraciones booleanas
- Declaraciones de iteración
- Matrices en Groovy
Es todo por hoy. Sigue leyendo y nos vemos en el próximo tutorial. Comparta sus preguntas, comentarios y experiencias a continuación.
Lectura recomendada
- Cómo usar propiedades en SoapUI Groovy Script - Tutorial de SoapUI n. ° 7
- 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
- Cómo escribir un script Groovy básico en SoapUI - Tutorial de SoapUi n. ° 6
- Tutoriales detallados de Eclipse para principiantes
- 7 características importantes de SoapUI y SoapUI Pro - Tutorial 2
- Comprender las afirmaciones en SoapUI - Tutorial de SoapUI n. ° 5
- 4 características importantes de SoapUI Pro para audiencias profesionales - Tutorial de SoapUI n. ° 12