jmeter正则取多个参数
场景:用户登录请求之后返回token和userId值,在下一个请求中,消息头中要用到token,请求参数中要用到userId。
先执行下所有的消息,添加结果树,查看登录返回的消息,明确要取出的参数(后面正则去匹配)
文章图片
1564478503981.png
两种方法去取这两个参数
一、添加两个正则分别取出两个参数
1.登录请求中添加两个正则表达式,分别取出token,userId值
文章图片
1564478024918.png
文章图片
1564478086309.png
这块不知道怎么写这些模板数据的,可以参考:
https://www.jianshu.com/p/42cea76e195d
添加第二个正则,取出token
文章图片
1564478156850.png
2.下一个请求消息时,要用到登录返回的参数
文章图片
1564478358813.png
文章图片
1564478550030.png
3.执行一遍查看结果
文章图片
1564478582077.png
token和userId都取到了值
二、添加一个正则表达提取器,一次性取出两个参数
【jmeter正则取多个参数】1.正则书写
引用名称:没啥说的,就是变量名字,想取啥就取啥,后面调用时写成跟这边一致就行
正则表达式:()内就是正则取出的内容,要取出来的是userId和token的值,所以添加两个正则(.?),但是由于刚才登录返回时userId 和token中间还有username参数,甚至还有换行空格等,所以去匹配时需要抹掉中间不需要的字段,使用正则:[.\s\S]+? 代表所有的字符,完整的正则就是:"userId":"(.?)",[.\s\S]+?"token":"(.*?)"
模板:表示取第一个正则的值,表示取第二个正则的值,这块没有什么影响,因为后面调用时参数会自生成,我这里取两个值,我就写成,,最后取出来时,userinfo就是userId,token,这个下面步骤会详说debug sampler模块(简直不要太好用!)
匹配数字:有了debug sampler模块,这个不论写成什么数字,已经不那么重要了
文章图片
1564478662196.png
2、添加Debug Sampler模块,简直就是提取参数的神器,可以输出你参数到底取了什么值
文章图片
1564479381503.png
这个模块直接添加就OK了,然后按照我刚才写的正则,执行一下所有的请求,看下这个模块给出的响应:
文章图片
1564480056935.png
3、在下一个请求中将参数名字改成对应的参数名
文章图片
1564480307395.png
文章图片
1564480318039.png
执行下看下结果:
文章图片
1564480347915.png
执行成功!
推荐阅读
- 取名——兰
- 调取接口时报404错误(ID:16)
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 使用协程爬取网页,计算网页数据大小
- 66万奔驰漏油事件看宝宝无理取闹
- EditText默认不获取焦点弹出键盘
- 取悦应该属于自己
- whlie循环和for循环的应用
- 天河水到底怎么推(取天河水啥意思?看完这篇搞清楚了!)
- ExcelPackage读取写入