java持续集成soapui_接口自动化测试持续集成--Soapui接口功能测试参数化

本文介绍了如何在Soapui中实现接口自动化测试的参数化,包括Txt文件、Excel文件和Groovy脚本的方式。详细讲解了每种方式的步骤,并提供了随机生成姓名、手机号码和Email的Groovy代码示例,以及JDBC参数化的配置和数据关联方法。
摘要由CSDN通过智能技术生成

1.Soapui的常用参数化类型

3692664

2.Soapui参数化操作方式

菜单路径:Test Steps->Add Step(右键菜单)->Data Source

3692664

3.Txt 文件参数化

在脚本中参数化

1、增加参数

2、选择数据类型

3、输入参数的值

2f80c83d1265982f0391f76fdadc6dfc.png

新建txt文件

3692664

文件内容

数据之间要用逗号做分隔符,否则soapui没办法区分数据

3692664

选择数据源类型与文件

1.增加参数

2.选择数据类型

3.选择数据文件

4.数据的分隔符

3692664

image.png

4.Excel文件参数化

新建excel文件

3692664

编辑文件内容

3692664

选择数据源类型与文件

1.增加参数

2.选择数据类型

3.选择数据文件

4.起始单元格

3692664

5.Groovy脚本参数化

groovy是基于java语言的脚本语 言,语法结构与java雷同,或者直接写java代码也是可以的

假设我们要通过接口创建客户

要求:姓名,手机号码,email不能重复

1.随机生成姓名的代码

public List RandomUserName(int RandomUserName) { String[] FirstName = ["赵","钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏", "陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳", "酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷"]; List randomName = new ArrayList<>(); for (int i = 1; i <= RandomUserName; i++) { Random randomFirstName = new Random(); int index = randomFirstName.nextInt(FirstName.length - 1); String name = FirstName[index]; if(randomFirstName.nextBoolean()){ name += getChinese()+getChinese(); randomName.add(name); } else{ name += getChinese(); randomName.add(name); } } return randomName; } public static String getChinese() { String str = null; int highPos, lowPos; Random randomChinese = new Random(); highPos = (176 + Math.abs(randomChinese.nextInt(55))) randomChinese = new Random(); lowPos = 161 + Math.abs(randomChinese.nextInt(94)) byte[] bArr = new byte[2]; bArr[0] = (new Integer(highPos)).byteValue(); bArr[1] = (new Integer(lowPos)).byteValue(); try { str = new String(bArr, "GB2312"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; }

2.随机生成手机号的代码

public List RandomTelNum(int RandomTel) { List RandomTelNum = new ArrayList<>(); for (int i = 0; i < RandomTel; i++) { String TelNumHead = "170"; int min = 10000000; int max = 99999999; Random randomTelLast = new Random(); int s = randomTelLast.nextInt(max) % (max - min + 1) + min; String telNum = TelNumHead + Integer.toString(s); RandomTelNum.add(telNum); } return RandomTelNum; }

3.随机生成Email的代码

public List RandomEmail(int RandomEmail) { List randomEmail = new ArrayList<>(); for (int i = 0; i < RandomEmail; i++) { String[] randomName = "ab,bc,cd,de,ef,fg,gh,hi,ij,jk,kl,lm,mn,no,op,pq,qr,rs,st,tu,uv,vw,wx,xy,yz,za".split(","); Random randomletter = new Random(); int index = randomletter.nextInt(26); String EmailName = randomName[index] +randomName[index/3]+ System.currentTimeMillis(); EmailName += getemail_suffix(); randomEmail.add(EmailName); } return randomEmail; } public static String getemail_suffix() { String[] email_suffix = "@gmail.com,@yahoo.com,@msn.com,@hotmail.com,@aol.com,@ask.com,@live.com,@qq.com,@0355.net,@163.com,@163.net,@263.net,@3721.net,@yeah.net,@googlemail.com,@126.com,@sina.com,@sohu.com,@yahoo.com.cn".split(","); String str; Random randomEmail_suffix = new Random(); int index = randomEmail_suffix.nextInt(email_suffix.length - 1); str = email_suffix[index]; return str; }

运行的效果

3692664

代码产生的数据与变量关联

//随机生成姓名

println(RandomUserName(1)[0]);

//代码产生的数据与变量关联

result["name"]=RandomUserName(1)[0] //随机生成邮箱 println(RandomEmail(1)[0]); //代码产生的数据与变量关联 result["email"]=RandomEmail(1)[0] //随机生成手机号码 println(RandomTelNum(1)[0]); //代码产生的数据与变量关联 result["mobile"]=RandomTelNum(1)[0]

6.JDBC参数化

当接口产生的数据需要从数据库读取的时候我们可以连接数据对数据查询进行数据关联,soapui是可以链接多种数据库,我们使用mysql做演示

mysql驱动配置

1.下载mysql驱动的jar包

http://pan.baidu.com/s/1ge5BLhL

2.拷贝驱动jar到如下路径(soapui的安装路径)

C:\Program Files\SmartBear\SoapUI-Pro-5.1.2\jre\lib\ext

配置数据源

数据库连接成功,说明数据源已经配置好

3692664

编辑SQL

select userName,passWord from user

3692664

7.参数关联到Request

这一步虽然比较简单,但是至关重要,否则参数化是体现不出来的

3692664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值