当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理
Jmeter中常用的关联方法:
正则表达式提取器、XPath提取器、JSON提取器
regex: (.*?)-(.*?)-(.*?)\n
.: 匹配除换行符(\n、\r)之外的任何单个字符
*:零次或多次
+:一次或多次
?:代表非贪婪匹配,可以匹配多组数据,找到第一组数据的右边界即停止,接招找下以一组的左边界
():匹配分组
案例:
用正则表达式从以下文本中提取出,城市区号、地区号、个人号:
021-1324-4454
045-4564-4421
078-1234-7784
041-2222-6696
012-3333-8897
056-7891-1142
1、正则表达式提取器
位置:HTTP请求->添加->后置处理器->正则表达式处理器
正则表达式提取面板:
模板:表示解析出一行数据的第几个()的值,结合上面的电话号码,$1$ 代表城市区号,$2$代表地区号码,$0 代表匹配到的整行数据
匹配数字:正则表达式匹配数据的结果可以看做一个数组,表示如何取值,0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值
引用方法:${引用名称}
需求:从上一个请求的响应中提取返回的第5个地址,并访问百度传参
正则表达式提取器:
成功取到第五个地址:
Debug 取样器的结果:
${address_5} 和${address_5_g1} 的结果一样,因此在引用的时候用=${address_5_g1} 也是可以的
TODO当模板中有多个$$的情况
2、XPATH提取器
位置:HTTP请求->添加->后置处理器->XPATH提取器
面板如下:
Use Tidy:
当需要处理的页面是HTML格式时,必须选中该选项
当需要处理的页面是XML或XHTML格式时,取消选中该选项
XPath Query:用于提取值的XPath表达式
匹配数字:当提取的值有多个时,0表示随机,-1表示所有结果,1表示第一个值
3、JSON 提取器
请求天气的接口地址:
www.weather.com.cn/data/sk/101010100.html
位置和XPath提取器位置一样
Json Path expressions :可以在响应结果中测试下能否取到值:
当遇到的JSON数据中有列表时怎么提取?(索引从0开始)
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
资料获取方式 :