Jmeter中关联的使用

关联是Jmeter工具中非常重要的一个技术。因为在测试过程过有些数据是经常发生变化的,要获取并使用这些数据,就要使用关联。 
比如: 用户登录后,session信息都不同,有些操作要使用session,就需要将这个动态的信息保存下来。 
还有经常遇到的场景,第二个请求提交的参数要从第一个请求的返回数据中获取。

今天要测试是获取某一个城市的天气信息: 
http://www.weather.com.cn/data/cityinfo/101010100.html

但这里面有一个城市代码(101010100)不是固定的,要根据测试数据获取不同城市的代码编号,再查询该城市的天气状况。 
分析后得出的结论是先要请求一个可以获取城市代码的接口,将获取的代码传递给这个获取天气信息的地址,请求形式为http://www.weather.com.cn/data/cityinfo/citycode.html,citycode.html,{citycode}就是前一个请求传过来的值。

Step1: 
添加一个用户变量city。 
这里写图片描述
为TestPlan添加一个线程组。添加第一个HTTP Sampler, 命名为GetCityCode。 
添加HTTP信息头管理器,再填写请求信息。 
这里写图片描述

这里写图片描述

Step2: 
添加一个后置处理器,利用正则提取器将获取到的城市代码取出。 
这里写图片描述

Step3: 
为该请求添加一个BeanShell断言,验证获取的信息是否正确。 
这里写图片描述


在这其中的FailureMessage就是指,如果断言失败,就是提示该信息。

Step4: 
添加断言监听器和结果树。

发送请求后,查看断言和结果树。 
这里写图片描述

这里写图片描述

会发现断言失败,使用获取的城市代码和期望的不一致,刚才在FailureMessage中指定的信息就会出现。 
因为断言失败了,所以结果树显示为红色。

这里是故意将期望的城市代码写错的。现在在BeanShell断言中修改过来。 
这里写图片描述
现在断言成功啦。

Step5: 
添加第二个HTTP Sampler,命名为GetWeatherInfo。请求信息如下。 
这里写图片描述
在路径中要使用第一个请求返回来的城市代码来提起具体的值。/data/cityinfo/${citycode}.html,要与Step2中正则提取器中的引用名称一致。

Step6:

再添加一个BeanShell断言,来验证结果。 
这里写图片描述

查看结果树,显示请求返回的响应数据正确。 
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_33587876/article/details/81201917