En la imagen superior se puede observar todo el proceso (vista global) a seguir ... pero previamente:
- Se ha de crear un proyecto en SOAPUI
- Se ga de registrar el WSDL del WS Calculator dentro del proyecto
- Se ha de crear una juego de pruebas(TestSuite) para el WSDL antes registrado
- Dentro del método add se ha de crear la siguiente estructura de pasos:
- Un elemento propiedades
- 3 scripts de groovy
- 1 request al método del ws (se crea por defecto)
Bien ahora solo nos queda modificar la request creada por defecto a fin de que pueda utilizar distintos datos en cada llamada y poner cuerpo a los scripts de Groovy.
Modificación de la request (petición SOAP)
Cargar datos iniciales
log.info( "SCRIPT CargaDatosIniciales" ) ///////////////////////////////////////////// def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" ); def propIndex = propiedades.getProperty( "index" ) def propValores = propiedades.getProperty( "values" ) //se guarda como una cadena de texto, con los valores separados por un espacio en blanco //se hace para luego poder hacer un split de la propiedad def list = "" for( i in 1..7 ){ list += i + " " } log.info( "Numero de elementos a consultar " + list.size() + "." ) log.info( list ) propIndex.value = 0 propValores.value = list
Actualizar registro actual
log.info( "SCRIPT ActualizarRegistroActual" ) ///////////////////////////////////////////// def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" ); def propIndex = propiedades.getProperty( "index" ) def propValores = propiedades.getProperty( "values" ) def propActual = propiedades.getProperty( "valorActual" ) def values = propValores.value.split() def index = Integer.parseInt(propIndex.value) log.info("valores : " + values) log.info("Indice : " + index) log.info("Valor : " + values[index] ) propActual.value = values[index];
Mover registro y comprobar
log.info( "SCRIPT MoverRegistroYcomprobar" ) ///////////////////////////////////////////// def propiedades = testRunner.testCase.getTestStepByName( "Propiedades" ); def propIndex = propiedades.getProperty( "index" ) def propValores = propiedades.getProperty( "values" ) def index = Integer.parseInt(propIndex.value) + 1 propIndex.value = index; if(index < propValores.value.split().size()){ testRunner.gotoStepByName( "ActualizarRegistroActual" ) }
Finalmente nos queda probar en conjunto todo aquello que se ha creado.
- FIN -
4 comments:
Buen día.
Mirando el post me gusta mucho el tema y creeria que es poca la referencia en español.
Hay algo que no entiendo del post y es el uso del "properties", no queda clara la idea del porque se usa.
Muchas gracias :)
El "properties" es el repositorio de las variables que se utilizan en la llamada SOAP, y se actualizan desde los scripts de groovy
Buen día.
Gracias por responder.
ya con el concepto claro de las properties quedo con una duda.
Estoy usando el script para "extraer" mi cantidad de elementos que enviare en el request pero en mi caso siempre me devuelve 7 tal como esta validado en el script , el dilema no es aumentar sino que mis elementos del request son 4.
En el request a cada variable le agrego "${Properties#CC}", pero no se que mas hacer.
Espero me guie en mi intento de usar groovy :)
saludos
Bueno en realidad me parece que has de cambiar el bucle.
De:
for( i in 1..7 )
A:
for( i in 1..4 )
Post a Comment