码迷,mamicode.com
首页 > 其他好文 > 详细

jmeter 正则表达式学习(一)

时间:2017-10-09 13:18:33      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:bug   float   模板   响应代码   逻辑   debug   png   user   ror   

jmeter自带后置处理器:正则表达式提取器,可以用来提取接口响应里的信息,给予后续接口传参用。
例如要提取响应结果里的token字段及sex字段(响应内容为:
技术分享
"token":"83EEAA887F1D2F1AA1CDA9E197810992","sex":0,"userName":"12548650"),提取器如下设置,技术分享
正则表达式提取器说明:
Apply to:应用范围(一般就选择默认的Main sample only)
要检查的响应字段:样本数据源。
主体: 接口响应主体内容,一般要提取普通http响应结果的数据,都勾选这个。
信息头:响应头的所有内容。
Request Headers:请求头的所有内容。
  url:是对sample的url进行匹配,但是只能匹配url不包含parameters和bodydata里的请求参数(即只能匹配url+querystring类型参数,如:https://www.baidu.com/index.php?tn=monline_3_dg)。
  响应代码:http响应代码,如101,200,302,404,501等。
  响应信息:http响应代码对应的响应信息,例如:OK, Found(HTTP/1.1 200 Ok;HTTP/1.1 302 Found)。
引用名称:其他地方引用时的变量名称,名称只能是一个,引用方法:${token}。如图
技术分享
正则表达式:数据提取器,如上图的"token":"(.*?)","sex":(.*?),"userName", 其中 (.*?) 里的‘?‘为非贪婪匹配,建议均使用非贪婪匹配,除非特殊情况。
模板:对应正则表达式提取器类型,样式为:$n$。若模板为:$0$,则为所有的匹配数据("token":"83EEAA887F1D2F1AA1CDA9E197810992","sex":0,"userName")。若模板为:$1$,则对应正则表达式中的第一个(.*?)所匹配的内容,即(83EEAA887F1D2F1AA1CDA9E197810992) ,若模板为:$2$,则对应正则表达式中的第二个(.*?)所匹配的内容,即(0),若模板为$1$$2$,则把2个(.*?)所匹配的内容拼接起来,即(83EEAA887F1D2F1AA1CDA9E1978109920)。模板是可以自由组合的,后续案例中再介绍。
匹配数字:正则表达式匹配数据的最终结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。当为 0 时,随机返回匹配的数据。当为 1 时,表示返回匹配结果数组的第一个元素。当为负数(-1,-2,-100都可以)时,表示返回全部元素,并且同时会返回一个元素总数的变量token_matchNr,在引用时:通过${token_1}的方式来取第1个匹配的内容,${token_2}来取第2个匹配的内容。
缺省值:匹配失败时的默认值。通常用于后续的逻辑判断,一般通常为特定含义的英文大写单词组合,比如NULL,ERROR等。
 
这里需要提到另外一个后置处理器:Debug PostProcessor
该元件就为调试所用,一般用于查看变量值,添加方法同正则表达式提取器。
技术分享

jmeter 正则表达式学习(一)

标签:bug   float   模板   响应代码   逻辑   debug   png   user   ror   

原文地址:http://www.cnblogs.com/VashGu927/p/7640447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!