目录
- JMeter关联的使用场景
- 后置处理器--正则表达式提取器
1、JMeter关联的使用场景:当前请求的参数的值需要从上一个请求的响应结果中提取时,就需要使用JMeter的关联。
2、JMeter通过后置处理器来完成关联。要提取哪个请求的响应信息,正则表达式提取器就放在该请求下面。例如要从服务器返回的响应信息获取板块ID,响应信息为:
<a class="link" href="/jforum-3.2.5/jforum/show/1.page">性能测试工具</a>
<a class="link" href="/jforum-3.2.5/jforum/show/2.page">接口测试工具</a>
<a class="link" href="/jforum-3.2.5/jforum/show/3.page">测试管理</a>
(1)为了验证正则表达式是否正确,引入正则表达式测试器:http://deerchao.net/,将服务器返回的信息复制到“原文本”,把正则表达式<a class="link" href=".*show/(.*).page">复制到“模式”,运行后即可匹配到想要的链接。
获取到链接的数字,即是板块ID。
(2)Regular Expression Extractor:需注意的选项
如:
Name of created variable:result
Regular Expression:可有多个模板
Template:$1$指第一个模板,$2$指第二个模板,依次类推。但只可指定用哪个模板
Match No.:因为一个模板可有匹配出一组值,所以如果匹配数为0指随机取匹配值;如果匹配数为负数指取所有值,可与For Each Controller一起使用来遍历。
若用第二个模板,利用提取的值来参数化下一个请求,用${result_g2}来引用。result是引用的名称,_gn是指定哪个模板,_g2指引用第二个模板。
(3)为了确定正则表达式提取的值是否正确,可以加入Debug Sampler,在监听器的查看结果树中即可看到正则表达式的取值。