标签:bean 中文 正则表达 coding 定义变量 提取 set ESS process
1.Jmeter是什么
Jmeter是一款开源软件,是纯java编写,用来进行功能测试和性能测试,另外也可以用来进行接口测试。
2.如何下载Jmeter
打开http://jmeter.apache.org/download_jmeter.cgi,下载二进制包,解压后,在/bin目录下找到jmeter.bat,双击并打开。
jmeter界面默认使用的是英文,可以通过选择Options--Choose Language--Chinaese(Simplified),将语言设置为中文:
3.使用Jmeter进行测试的例子
1)首先通过Jmeter访问http://toy1.weather.com.cn/search?cityname=济南,从响应中获取济南的城市代码:
其中101120101为济南的城市代码。
2)通过Jmeter发送http://www.weather.com.cn/data/sk/101120101.html,获得济南的实时天气情况。
下面为使用Jmeter具体的操作步骤:
(a)使用Jmeter新建一个Thread Group(线程组)。
注:Jmeter的所有任务都是通过线程去处理,因此所有的任务都需要新建在Thread Group(线程组)下面。
(b)在Thread Group(线程组)下新增加一个HTTP Request,用来发送实际的请求。
这里通过访问http://toy1.weather.com.cn/search?cityname=济南,获取济南的城市代码。
注:如果只是新建HTTP Request,运行结束后我们是无法查看运行结果的,因此需要新建一个View Results Tree来查看运行结果。
(c)新建View Results Tree
(d)运行测试并且查看结果
查看测试结果:
可以看到响应返回的结果为乱码,此时我们可以通过新建后置控制器BeanShell PostProcessor进行解决。
在脚本输入框中输入:prev.setDataEncoding("UTF-8");
再次运行测试,查看结果,可以看到,乱码问题解决:
(e)添加Assertion和Assert Results
选择新增加的HTTP Request,然后Add--Assertions--Response Assertion。
在Patterns To Test中输入“济南”。
然后通过添加Assertion Result来查看Assertion的执行结果,通过选择Thread Group(线程组)--Add--Listener--Assertion Result来添加。
运行测试:
如果返回响应中不包含断言中设置的值时,断言会失败,现在把Response Assertion中的Patterns To Test中的“济南”更换为“北京”,再进行运行,断言失败。
(f)用户自定义变量
在上面的Http Request中,需要获取的城市是固定的,我们可以通过设置用户自定义变量,使用的时候使用${自定义变量},进行获取。
选择Thread Group(线程组)--Add--Config Element--User Defined Variables进行新建。
新增加cityName变量,并把该变量的值设置为“济南”。
在Http Request中使用用户自定义变量。
运行结果:
(g)关联
因为第二个请求(获取济南的天气情况),需要用到第一个请求的响应中的城市代码,可以通过关联获取上个请求的城市代码。
可以通过新增加后置控制器Regular Expression Extractor,将响应中需要提取的值赋值给变量,然后在接下来的请求中传递该变量。
通过Http Request--Add--Post Processors--Regular Expression Extractor添加。
注:
新建Http Request,获取济南的天气情况,通过访问http://www.weather.com.cn/data/sk/${cityCode}.html获取,此处${cityCode}为正则表达式中匹配的值。
运行测试并查看结果:
注:本学习笔记中的获取济南城市结果的接口获取的日期不正确,济南1月份的天气25摄氏度,太吓人。
标签:bean 中文 正则表达 coding 定义变量 提取 set ESS process
原文地址:https://www.cnblogs.com/zhuzhaoli/p/10259817.html