一、介绍
不同线程组之间传递参数的方法,使用跨线程组关联。
涉及JMeter组件:Beanshell取样器,函数助手中的setproerty和property函数等。
二、实验过程
2.1 第一个线程组
- 测试计划下添加---线程组1---添加取样器http请求。
第一个http请求服务器:www.czjtu.edu.cn

-
http请求---添加XPath提取器,获取title标签的值,由于请求网址的响应数据是html,所以选中Use Tidy。
引用名称:val
XPath query://title

- 在第一个线程组---添加调试取样器,查看XPath提取器的结果。

- 添加---Beanshell取样器,打开函数助手,选择setproperty函数 ,设置属性名称:out,Value of property:${val}。点击生成。
out相当于全局变量,${val}相当于我们传入的值,这个值也是一个变量(Xpath提取器中设置的引用名称)。

- 复制函数字符串**{__setProperty(out,{val},)}**,到Beanshell取样器脚本中。

2.2 第二个线程组
-
在第二个线程组中,添加取样器 http请求,请求服务器:www.baidu.com
-
这时需要想,第一个线程组获取的title值怎么添加到第二个http请求中???

使用函数助手---property函数 ,属性名称:out,点击生成。

3.复制函数字符串${__property(out,,)}到http请求的路径中。
路径:/S?wd=${__property(out)} ,注意把out后的两个逗号去掉。不知道为什么保留逗号就不能响应成功。

4.点击运行,查看结果树,第二个http请求的请求,第一个线程组的请求的title值传递过来。
实验成功。



实验过程记录,不正确的地方还请指正。