加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

SoapUI中使用Groovy脚本操作数据库

发布时间:2020-12-14 16:49:36 所属栏目:大数据 来源:网络整理
导读:SoapUI中支持使用Groovy脚本,通过Groovy脚本可以操作数据库,并可以对数据库结果进行校验,从而完成用例的检查。 ? 1:在SoapUI中放置第三方Jar包 连接的数据库的jar包需要放置于bin/ext目录下 原文如下: If you need to add external libraries to the so
SoapUI中支持使用Groovy脚本,通过Groovy脚本可以操作数据库,并可以对数据库结果进行校验,从而完成用例的检查。

?

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"

转载,做个备忘

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读