
官方文档
Jmeter正则表达式提取器允许用户使用perl类型正则表达式从服务器响应中提取值. 作为后处理器,它将在其范围内的每个Sample请求之后执行. 具体步骤是: 应用正则表达式并提取请求值,生成模板字符串jmeter正则表达式语法,最后将结果存储在给定的变量名称中.
要检查的字段(要检查的对应字段)
有七个不匹配内容的“响应”选项,它们更加详细且易于理解.
创建变量的名称
要设置变量名称,只需在调用时使用$ {name}.
正则表达式

设置用于解析响应数据的正则表达式,并使用括号表示要提取的字符串. 在这里,括号的功能类似于LoadRunner的左右边界.
模板
The
template用于根据正则表达式的匹配结果创建字符串. 正则表达式可以设置多个模板,在这里您可以指定要引用的模板. 语法为: $ 0 $表示整个表达式匹配,$ 1 $表示组1,$ 2 $表示组2,依此类推. 如果只有一个正则表达式,则只需写入$ 1 $.
比赛编号
指定要使用的匹配项. 正则表达式可以匹配多次. 值为0表示JMeter应该随机选择匹配的值;正整数N表示选择了第N个匹配项;负数表示所有匹配内容的选择,通常与ForEach控制器结合使用.
默认值

如果正则表达式不匹配,则将引用变量设置为默认值. 您可以选中使用空默认值以将默认值设置为空.

免费接口: GET,$ {uin}&json = 1&g_tk = 1916754934,其中$ {uin}是QQ号. 如下图所示:

以下是指官方网站的文档,介绍了几种不同的情况.
正则表达式的内容是: xqusic_mid: “(. *?)”,xqusic_id: (\ d +),模板:

jmeter正则表达式语法,匹配编号: 1,并且默认值设置为test,这意味着第一组中的第一个内容匹配. 如果没有匹配项,则将模板值复制为测试. 如下图所示:

运行结果为:

让我们分析运行结果中给出的变量,如下所示:
# 模板的值,即分组1的第一个数据;
rethink=002iYN6V0lHUjb
# 正则表达式中的分组数,可以看到正则表达式中一共给出了两个要匹配的项;
rethink_g=2
# 分组的匹配内容
rethink_g0=xqusic_mid:"002iYN6V0lHUjb",xqusic_id:3018351066
rethink_g1=002iYN6V0lHUjb
rethink_g2=3018351066
将“匹配号”设置为-1,这意味着第一组的所有内容都匹配. 其他参数保持不变,运行脚本后的结果为:


# 模板设置的默认值
rethink=test
# rethink_n(1,2,3...) 当前匹配到的模板的值
rethink_1=002iYN6V0lHUjb
rethink_1_g=2
# 分组的匹配内容
rethink_1_g0=xqusic_mid:"002iYN6V0lHUjb",xqusic_id:3018351066
rethink_1_g1=002iYN6V0lHUjb
rethink_1_g2=3018351066
rethink_2=0011OcRB3SIlGB
rethink_2_g=2
rethink_2_g0=xqusic_mid:"0011OcRB3SIlGB",xqusic_id:2177446616
rethink_2_g1=0011OcRB3SIlGB
rethink_2_g2=2177446616
# 内容匹配数,可能为0
rethink_matchNr=2
将正则表达式修改为: \ sxqusic_mid: “(. *?)”,xqusic_id: (\ d +),默认值设置为: test,然后运行脚本,结果是:

您可以看到模板的值设置为默认值,并且以下变量已被删除: rethink_g,rethink_gn(n = 0,1,2 ...)
将模板设置为$ 1 $ ||| $ 2 $,匹配号为1,运行脚本后的结果如下:

从以上栗子中,您可以发现JMeter中的正则表达式提取器相对灵活,并且可以自由设置特征参数以满足特定需求. 但是,如果您想精通,还需要练习更多.
【待续...】
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-214093-1.html
马云还没有死呀
有1900退休金你就知足吧