一、介绍
不同线程组之间传递参数的方法,使用跨线程组关联。
涉及JMeter组件:Beanshell取样器,函数助手中的setproerty和property函数等。
二、实验过程
2.1 第一个线程组
1. 测试计划下添加—线程组1—添加取样器http请求。
第一个http请求服务器:www.czjtu.edu.cn
2. http请求—添加XPath提取器,获取title标签的值,由于请求网址的响应数据是html,所以选中Use Tidy。
引用名称:val XPath query://title3. 在第一个线程组—添加调试取样器,查看XPath提取器的结果。
4. 添加—Beanshell取样器,打开函数助手,选择setproperty函数,设置属性名称:out,Value of property:${val}。点击生成。
out相当于全局变量,${val}相当于我们传入的值,这个值也是一个变量(Xpath提取器中设置的引用名称)。
5. 复制函数字符串${__setProperty(out,${val},)},到Beanshell取样器脚本中。
2.2 第二个线程组
1. 在第二个线程组中,添加取样器 http请求,请求服务器:www.baidu.com
2. 这时需要想,第一个线程组获取的title值怎么添加到第二个http请求中???
使用函数助手—property函数,属性名称:out,点击生成。
3.复制函数字符串${__property(out,,)}到http请求的路径中。
路径:/S?wd=${__property(out)},注意把out后的两个逗号去掉。不知道为什么保留逗号就不能响应成功。
4.点击运行,查看结果树,第二个http请求的请求,第一个线程组的请求的title值传递过来。
实验成功。
实验过程记录,不正确的地方还请指正。