码迷,mamicode.com
首页 > 其他好文 > 详细

Jmeter关联测试实例(中国天气网)

时间:2020-10-14 19:54:16      阅读:38      评论:0      收藏:0      [点我收藏+]

标签:浏览器   插入图片   debug   post   deb   服务   获取天气   命名   根据   

中国天气网:http://www.weather.com.cn/
某一个城市的天气:http://www.weather.com.cn/weather1d/101020100.shtml#search

但这里面有一个城市代码(101020100)不是固定的,要根据测试数据获取不同城市的代码编号,再查询该城市的天气状况。
分析后得出的结论是先要请求一个可以获取城市代码的接口,将获取的代码传递给这个获取天气信息的地址,

请求形式为:
http://www.weather.com.cn/weather1d/${citycode}.shtml#search, 其中{citycode}.html的 {citycode}就是前一个请求(查询某个城市citycode)传过来的值。

Step1:
技术图片
1)添加一个用户变量city。

2)为测试计划TestPlan添加一个线程组。添加第一个HTTP Sampler, 命名为GetCityCode(这个请求的目的是获取城市citycode)。

添加HTTP信息头管理器 http://www.weather.com.cn, 目的是“就是尽可能的真实模拟用户打开浏览器的操作”,在查某个城市天气之前,先得打开中国天气网。
在这里插入图片描述
技术图片
再填写请求信息。
服务器:toy1.weather.com.cn – 这个网站用名字来解析城市代码,中英文都支持
路径:/search?cityname=${city}

例如:toy1.weather.com.cn/search?cityname=上海

技术图片
3)添加一个后置处理器中的:BeanShell PostProcessor ,用来处理响应结果的中文乱码显示;
技术图片

4)添加一个 Debug Sampler ,添加查看结果树,用来调试,查看正则提取结果

技术图片

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

引用名称:citycode
正则表达式:(\d{9})~ ,注意左右边界
模板:11
匹配数字:1,如果是0,就是随机获取,那么和city就有可能对不上…

发送请求后,查看dug sampler 获取的信息情况。
技术图片

结果中,获取了citycode 相关的有4个,后面这几个都可以用来被调用,我们用citycode就好。

Step3:
添加第二个HTTP Sampler,命名为GetWeatherInfo。请求信息如下。
http://www.weather.com.cn/weather1d/${citycode}.shtml#search

技术图片

在路径中要使用第一个请求返回来的城市代码来提起具体的值。/weather1d/${citycode}.shtml#search,要与Step2中正则提取器中的引用名称一致。

Step6:
查看结果树,显示请求返回的响应数据正确。

技术图片

Jmeter关联测试实例(中国天气网)

标签:浏览器   插入图片   debug   post   deb   服务   获取天气   命名   根据   

原文地址:https://blog.51cto.com/13681496/2541573

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!