soapui接口测试怎么连接数据库进行测试

soapui接口测试怎么连接数据库进行测试,第1张

以soapUI自带的sample project为例,学习利用DataSource进行login --》search(循环)--》logout

DataSource 的类型有:Data Connection/ Grid / File/ XML /groovy /excel /directory/JDBC

为了让DataSource能循环起来,还要和DataSource Loop结合,下面分布学习Grid / File /excel /Data Connection

1. 创建testcase,添加基础的step:login/ search/ logout

并且在search中对

2. 新增step:DataSource

并且新增一个Property:search_string, 选择类型:Grid 新增参数:Item 1 / Item 2 / Item 3 / Item 4

在新参数后,可以运行DataSource中的绿色运行按钮,可以测试一下datasource是否可用(下面有data log查看)

3. 新增step:DataSource Loop, 在DataSourceLoop配置对话框中选择datasource step,选择target step

4. 在search request中配置相关session id / searchstring

session id的参数设置,就是选择login response产生的session (之前的学习中有介绍过)

searchstring的参数设置类似,这里我们选择在DataSource中添加的search_string

5. 以上设置好后,就能运行测试用例了,

通过TestCase log /Http Log 我们能看出测试用例确实利用了我们添加的参数在循环测试

上面学习了DataSource中最简单的Grid类型,下面接着学习File /Excel / Dataconnection

其实我们只有简单改变一下步骤2中DataSource的配置,根据类型的不同进行相应的设置就可以了

File类型

---------------------------

准备格式如下的文件(参数必须一行一行写,我尝试用,隔开不起作用)

在配置项中选择相应的文件,运行测试一下,一般没什么问题

Excel类型

----------------------------

准备excel文件,注意保存为2003格式,2007格式似乎不能读取

配置一下

DataConnection类型 (我现在的是MySQL连接)

---------------------------

首先在mysql数据库中准备数据

配置data connection 正确填写各项,并利用Test connection测试连接是否成功

注意的是,在配置之前,检查 soapUI 安装目录下的 \jre\lib\ext 中是否有mysql jdbc的driver,如果没有必须下载放进行,否则不能连接成功

我从CSDN中下载的mysql-connector-java.jar

配置好连接后,有相应的sql 查询语句配置页面,也可以自己写,我这些的是: select * from item

执行一下,看看能不能查询出结果 (data log 中显示出来了,但具体的值没显示出来,不知道为何,但确实可用)

SoapUI怎样支持对数据库的 *** 作

//此类为连接数据库并进行数据库的 *** 作

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class Conn {

private static Connection conn = null

private static Statement st = null

private static ResultSet rs = null

//建立数据库的连接

public Conn(){

String url = "jdbc:sqlserver://localhost:1433databaseName=ZYGX"

String user = "sa"

String password = "123"

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")

conn = DriverManager.getConnection(url, user, password)

st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY)

} catch (ClassNotFoundException e) {

e.printStackTrace()

} catch (SQLException e) {

e.printStackTrace()

}

}

// 通过不同 的sql语句,得到相应Resultset结果集

public ResultSet getRs(String sql){

try{

rs= st.executeQuery(sql)

}catch(SQLException e){

e.printStackTrace()

}

return rs

}

// 根据不同的sql语句,执行数据库的更新 *** 作

public int updata(String sql){

int num=0

try{

num = st.executeUpdate(sql)

}catch(SQLException e){

e.printStackTrace()

}

return num

}

// 关闭数据库连接相应的资源

public void close(){

try{

if(rs!=null){

rs.close()

rs = null

}

if(st!=null){

st.close()

st = null

}

if(conn!=null){

conn.close()

conn = null

}

}catch(SQLException e){

e.printStackTrace()

}

}

}

----------------------------------------------------------------------

//可以对button里添加动作按钮:

final JButton button = new JButton()

button.addActionListener(new ActionListener() {

public void actionPerformed(final ActionEvent e) {

Conn conn =new Conn()

String sql1="select * from aa where name='"+name+"' "//按name值查找

ResultSet rs = conn.getRs(sql1)

try {

while(rs.next()){

int n=rs.getString("type")

}

} catch (SQLException e) {

e.printStackTrace()

}

String name=textField.getText()

String sql="update aa set tittle='"+name+"' "//从aa表将title字段的值改成textField里的name值

String sql2 ="delete from aa where name='"+name+"'"//从aa表将按取得name的值删除该行数据

String sql3 = "insert into aa (name,uname) values ('"+name+"','"')" //将name,uname值新增到aa表

if(conn.update(sql)==1){

System.out.print("修改成功")

}

if(conn.update(sql2)==1){

System.out.print("删除成功")

}

if(conn.update(sql3)==1){

System.out.print("新增成功")

}

}

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10008784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存