Inicio » Test » Accediendo a BBDD con SoapUI no PRO

Accediendo a BBDD con SoapUI no PRO

Durante la ejecución de nuestras pruebas nos encontramos en ocasiones con la necesidad de acceder a la BBDD para consultar, cambiar o crear algún dato que nos permita completar nuestro test.

La gratuita de SoapUI (al menos la 4.0.1 que estoy usando) no tiene habilitada las opciones de DataSource TestStep, DataSourceLoop TestStep ni DataSink TestStep, que me imagino que permitirán actuar sobre la BBDD (corregidme si me equivoco). No obstante, aun tenemos mecanismos que nos permiten acceder a la BBDD. Para ello acude en nuestra ayuda los scripts de Groovy.

Antes de nada debemos colocar nuestra versión java del driver jdbc de la BBDD a la que queremos acceder, en un lugar conocido. Yo sugiero colocarlo en la carpeta “ext” del SoapUI. Esta carpeta es para colocar nuestras librerías y en teoría para que estuvieran disponibles para su uso, pero por lo que he podido comprobar no están disponibles desde los scripts groovy, aun así la colocaré ahí para nuestro ejemplo.

Para ejecutar el script ya sabéis, añadid un Test Step del tipo Groovy Script en nuestro test suite.

Y aquí os pongo un ejemplo para el acceso a postgres:

//Declaramos el driver
def jarFile = "postgresql-9.1-901.jdbc4.jar"
//Cargamos el driver que habiamos colocado en la carpeta ext
com.eviware.soapui.support.ClasspathHacker.addURL( new URL("file:./ext/$jarFile") )

import groovy.sql.Sql
def urlConexion = "tu url de conexion"
def user = "usuario1"
def password = "12345"

def sql = Sql.newInstance(urlConexion, user, password, 'org.postgresql.Driver')
def id_selected = 1
//Fijaos que usamos las $ para referirnos a las variables que tenemos definidas.
def query = "Select * from tablename where id = $id_selected "
def rows = sql.rows(query)

//Comprobación de que ha devuelto algún valor
assert rows.size() == 1

//Cerramos la conexión
sql.close();

Mas información sobre los comandos sql de Groovy: Groovy Sql

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s