Entradas populares

lunes, 13 de abril de 2015

get RequestHeaders en un mockService

def header = mockRequest.getRequestHeaders() def soapAction = header.get("SOAPAction", "SOAPAction header not found")

jueves, 12 de febrero de 2015

Utilizar @Grapes en SoapUI - Groovy scripting

Resumiendo un poco @Grapes funciona como una etiqueta cuando utilizamos archivos "pom.xml" en Maven, es decir nosotros acudimos a un repositorio para descargar una libreria que necesitemos en el momento que queramos.

 Antes de poder utilizar @Grapes tenemos que añadir a la ruta de nuestro SoapUI/bin/ext , las siguientes librerias : ant-1.6.2.jar y ivy-2.2.0.jar , (ACORDAOS DE REINICIAR SOAPUI DESPUES DE ESTO)

 Y ya esta!! ya podeis utilizar @Grapes, de hecho si buscais una libreria para maven desde google (por ejemplo) , podeis ver una pestaña que pone "Grape" , pues esa es la sentencia que teneis que copiar y pegar para poder descargar y usar la libreria que querais.

 Ejemplo si vamos a esta pagina : y nos vamos a la pestaña "Grape" vemos esto: @Grapes( @Grab(group='org.json', module='json', version='20141113') )

 Añadiendo eso y justo debajo los imports que necesiteis, ya lo teneis funcionando.

 Como siempre si necesitais algo no dudeis en comentarmelo.

Convertir JSON a XML usando groovy script

A continuación os voy a explicar con un ejemplo como podemos convertir una cadena de caracteres JSON (igual podeis cargar un fichero o lo que querais) a XML, formatearlo a XML usando pretty print y luego meter esto en la request que necesiteis.

@Grapes( @Grab(group='org.json', module='json', version='20141113') )

import org.json.XML;

import org.json.JSONException;

import org.json.JSONObject;

import groovy.xml.*

def jsonStr = "{ employee : { age:32, name : ABC DEF, married:true}}";

JSONObject jsonObj = new JSONObject(jsonStr);

log.info(XML.toString(jsonObj));

testRunner.testCase.testSteps["nombredevuestrarequest"].setPropertyValue("Request",XmlUtil.serialize(XML.toString(jsonObj)))


Espero que os vaya bien y os sirva de utilidad, si teneis alguna duda no dudeis en escribidme y comentad lo que querais.