中支持使用Groovy脚本,通过Groovy脚本可以操作DB,并可以对DB结果进行校验,从而完成用例的检查。
1:在SoapUI中放置第三方Jar包
连接的数据库
的jar包需要放置于bin/ext目录下
原文如下:
If you need to add external libraries to the soapUI classpath for your Groovy scripts (for example jdbc drivers), put these in the bin/ext folder under the soapUI installation, these will be read upon started and added to the soapUI classloader.
2: 在SoapUI的Test Case中新增数据库连接的配置,此配置的Properties文件可以直接从本地文件中导入
3:在SoapUI的Test Case中新建Groovy Script连接数据库
接口如下
def sql = Sql.newInstance(
地址,
用户名,
密码,
驱动 )
实现样例如下:
import groovy.sql.Sql//通过读取配置文件连接数据库 def DBProperties = testRunner.testCase.getTestStepByName( "DBProperties" );def sql = Sql.newInstance(DBProperties.getPropertyValue( "connection-url" ),DBProperties.getPropertyValue( "sysdb-user-name" ), DBProperties.getPropertyValue( "sysdb-password" ),DBProperties.getPropertyValue( "driver-class" ))
4:在SoapUI中通过Groovy脚本操作数据库
1)删除和新建表
//删除表try { sql.execute("drop table PERSON")} catch(Exception e){}
//新建表sql.execute('''create table PERSON ( id integer not null primary key, firstname varchar(20), lastname varchar(20), location_id integer, location_name varchar(30))''')
2)插入记录
插入记录有两种方式
//向表中插入记录
sql.execute("insert into PERSON (id,firstname,lastname,location_id,location_name) values (1,'gao','shuaihong',1,'hshen') ")
//插入记录另外一种方式def people = sql.dataSet("PERSON")people.add( firstname:"James", lastname:"Strachan", id:4, location_id:10, location_name:'London' )
3)查询记录
//选择一行记录def gaoshuaihong = sql.firstRow("select * from PERSON where id = 1") log.info(gaoshuaihong.firstname)
//选择多条记录def allPerson = sql.rows(" select * from PERSON")log.info(allPerson)log.info(allPerson[0])sql.eachRow("select * from PERSON"){ row -> log.info(row.lastname) }
4)校验结果 assert allPerson[0].lastname== "shuaihong"
转载,做个备忘