1 添加方法:
- 线程组右键-> 添加 -> 逻辑控制器 ->ForEach控制器
- 可以更方便JMeter后置处理器提取出来的多组数据,也可以定义具有特定规则的数据,用ForEach读取
- 输入变量前缀:变量的前缀
- 开始循环字段:要读取的变量后缀,只能是数字,代表第一个读取的变量
- 结束循环字段:要读取的变量后缀,只能是数据,代表第二个读取的变量
- 输入变量名称:把读取的变量的结果保存到新的变量
- 数字之前加
- 上下划线"_"? : 变量前缀和变量后缀之间加不加下划线
- 第一步:先调试XPATH,访问天气页面
- http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
- 看不清不要紧,这里的XPATH为://li/a[@href]//text()
- 第二步:使用JMeter访问这个页面,并使用JMeter的XPATH测试工具进行调试
- 第三步:使用XPATH 后置处理器把天气接口的名称提取出来
第四步:添加调试取样器,然后运行查看调试取样器中,有没有JMeter变量
运行后,调试取样器中就有变量name,和name_1、name_2、...、name_6,7个变量了。
这是JMeter后置处理器提取数据的特点,它会把多个变量自动加上下划线和数字来存储,
这种结构刚好提供给For-Each控制器使用
第五步:添加For-Each控制器,让这个控制器读取name并保存为新的变量key
第六步:添加百度搜索接口,搜索的内容填写For-Each控制器输出的变量key
由于百度有安全限制,频繁访问会导致进入认证环节,所以取消跟随重定向,防止进入认证页面
第七步:运行查看结果
可以看到,每个请求按照For-Each的循环,分别读取了不一样的值。
这样既实现了多个接口的关联,也实现了使用For-Each控制器来使用上一个接口的返回值并分别提供给下一个接口使用。
标签:控制器,JMeter,读取,name,forEach,Each,Jmeter,变量 From: https://www.cnblogs.com/yongheng999/p/17994182