接口测试 [已解决] jmeter 测试过程中 bodydata 参数,如何参数化,求教

对酒当歌 · 2016年08月24日 · 最后由 恒温 回复于 2016年08月24日 · 3562 次阅读

最近在用 jmeter 测试 web 接口,用的 post 方式,body data 中含的 token_id 和 user_id,测试中很多接口都要用到这两个值,所以想把这两个值参数化,如图

试了下添加 Http 信息头管理器,这里用函数助手中_CSVRead 参数化了一下,如图

运行后,结果树中显示的结果为

是不是这个方法错了,怎样才能把 body data 中的 token_id 和 user_id 参数化,请教下。。

共收到 6 条回复 时间 点赞

在这个接口下 添加 正则表达式提取器
引用名称: token_id
正则表达式:."token_id":"(.+?)".
模版:$1$
匹配数字:1

后续其他接口的引用直接采用 ${token_id} 搞定

#1 楼 @hu_qingen 你好,谢谢回复,刚才试了下,我们的登录接口加密方式比较复杂 {publickey+[(密码 MD5 加密)+ 公司名称缩写] MD5 加密}MD5 加密 ,暂时没有找到测试登录接口的方法,正则表达式是提取登录接口返回的 token userid 值吗,如果提起到了这个值的话,其他接口在 body dady 里面输入了请求信息后,在 patameters 中不能输入 ${token_id}

#2 楼 @lancelot 你们登录时,发送的参数密码 值就是 MD5 加密后的结果吗?有两种方式: 1.若数据库 user 表中存储的数据就是 md5 加密后的结果,可以直接把从数据库拉取用户名和密码存成 csv 文件,再参数化测试登录;2.若数据库存取的是明文密码,那可以把用户名和密码拉取出来,写到 excel 里面,用 python 或 java 按照加密规则生成 md5 值,写入到 excel,再测试登录接口

正则表达式就是提取 tonken 和 userId 的值;等下我这边出一篇文章,应该大致能解决你的问题
https://testerhome.com/topics/5771

#3 楼 @hu_qingen 你好,看到了你的新帖,谢谢。
我们的登录接口加密是这样的:a.pubilckey-随机获取 b.密码 c.公司名称缩写
b 和 c MD5 加一次得到加密后的 x,1 和 x MD5 再加密一次,因为 pubilckey 是随机获取的,所以每次加密后的密码都不一样。。
如果先不管登录接口,从 app 或 web 页面登录后拿到 token_id 和 user_id,然后其他接口请求时也复用这两个 id,不用每次都在 body data 中输入,这样的话该如何操作

#3 楼 @hu_qingen 已解决,多谢,用 CSV Data Set Config


绕到圈子里面去了,刚才得到通知这个登录接口要做性能测试。。。。

测试下结贴

恒温 关闭了讨论 08月24日 23:16
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册