SoapUI pro 参数化及关联实战
业务需求:现有登录接口和获取用户信息接口,登录后放回access_token,获取用户信息接口带着返回的token去获取用户信息:入参用户名和通过参数化传入接口用LR录制的信息如下:
点击查看代码
Action()
{
web_add_header("Authorization","Basic emx0OnpsdA==");
web_reg_save_param("token",
"LB={\"datas\":{\"access_token\":\"",
"RB=\",\"token_type\"",
"Search=Body",
LAST);
lr_start_transaction("登录");
web_submit_data("token_2",
"Action=http://172.16.2.89:9900/api-uaa/oauth/user/token",
"Method=POST",
"RecContentType=application/json",
"Referer=http://172.16.2.89:1081/login.html",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
"Name=username", "Value={username}", ENDITEM,
"Name=password", "Value=111111", ENDITEM,
"Name=validCode", "Value=1", ENDITEM,
"Name=deviceId", "Value=2C83404C-FA43-47D8-83BF-720EA6F81A38", ENDITEM,
LAST);
web_url("index.html",
"URL=http://172.16.2.89:1081/index.html",
"Resource=0",
"RecContentType=text/html",
"Referer=http://172.16.2.89:1081/login.html",
"Snapshot=t10.inf",
"Mode=HTML",
EXTRARES,
//"Url=/favicon.ico", "Referer=", ENDITEM,
LAST);
lr_end_transaction("登录", LR_AUTO);
lr_start_transaction("获取用户信息");
web_url("网页别名_2",
"URL=http://172.16.2.89:9900/api-user/userinfo/user/{username}?access_token={token}",
"Resource=0",
"RecContentType=application/json",
"Referer=http://172.16.2.89:1081/index.html",
"Snapshot=t12.inf",
"Mode=HTML",
LAST);
lr_end_transaction("获取用户信息", LR_AUTO);
//lr_output_message("当前token为:%s", lr_eval_string("{token}"));
return 0;
}
**
使用SoapUI进行测试
-
File-New REST Project,输入请求网址
-
请求选择post并添加请求参数
-
添加header认证
-
执行请求并查看结果正确与否
-
右键添加到测试用例
-
修改用例名称为登录请求
-
要参数化手机 创建数据源
-
选择datasource 点击添加 进入添加页面
-
添加参数名字
-
DataSource选择file类型并浏览参数化的文本文件(文件中手机号码均来自数据库中可用的)
-
添加datasouce loop 目的是可以循环读取参数值
-
双击 datasouce loop 设置如下
-
对手机号进行参数化 选择登录请求中手机号 点击GetData-DataSource-Property-phone
-
执行测试套件,观察日志参数手机号是否被替换为参数化的取值
-
添加第二个接口获取用户信息接口请求并添加到测试套件
-
设置获取用户信息的电话号码参数
-
新建参数传递选项 选中接口1中返回的access_token,右键transfer to 将登录接口返回的token传给获取用户信息接口中的token
-
执行测试套件 查看传递的参数值token是否正确
-
data loop 范围我登录和获取用户信息接口
20 执行套件可以看到不断变化的参数电话号码及token取值 证明配置正确
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界