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("新增成功")
}
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)