测试需要用到A接口返回的数据,所以需要对A接口的响应报文进行后处理,
1.添加Jmeter正则表达式提取器:在具体Request下添加Jmeter正则表达式提取器(Jmeter正则表达式在“Post Processor”下)
2、Jmeter正则表达式提取器控制面板,截图如下:
引用名:提取值的变量名在别处引用,如:str,具体引用方法为${str}
正则表达式:提取内容的正则表达式【稍微注意:()表示提取,需要将内容括在括号内】
模板:使用 $$ 来引用。 如果正则表达式中有多个提取表达式(多括号),可以是$1$、$2$等,表示解析的值个数为str,正则表达式提取模式,值从1开始
匹配数(0代表随机):0代表随机,-1代表全部,剩下的正整数代表提取内容中将要匹配的内容。
关于正则表达式的更多信息:
1、在使用正则表达式提取器的过程中,如果匹配数为-1,还可以使用${str_1}获取第一个匹配,${str_2}获取第二个匹配的内容。
2、关于正则*和*?的区别,上例中可以使用正则(.*?)或正则(.*)。 这是常规中的贪婪和非贪婪模式。
在Jmeter中,可以在需要获取数据的请求上右击,选择需要的关联方式。 如下图所示,动态数据的提取方式有很多种:
2.正则表达式提取器:
1.例如,您需要在“点击百度,您会知道”和“点击百度,您会知道”中提取以下响应文本:
2.设置正则表达式提取器:
3. 正则表达式示例:
1. 提取单个字符串:
如果要匹配网页的以下部分:name = "file" value = "readme.txt"> 并提取 readme.txt。 一个合适的正则表达式:name = "file" value = "(. ?)">。
2. 提取多个字符串:
假设您要匹配网页的以下部分:name = "file.name" value = "readme.txt"> 并提取 file.name 和 readme.txt。 一个合适的正则表达式:name = "(. ?)" value = "(. ?)"。 这将为 $1$ 和 $2$ 创建 2 个组。