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

Jmeter使用入门

时间:2019-01-12 18:06:57      阅读:220      评论:0      收藏:0      [点我收藏+]

标签: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添加。

技术分享图片

技术分享图片

注:

  1. Template:获取第几个正则表达式括号中的内容,上面为第一个正则表达式括号中的内容。
  2. Match No.:设置的正则表达式中很有可能会有多个值对应,这里设置取哪一个,0表示随机。
  3. Default Value:默认值,表示正则表达式没有匹配的值时,取此处默认值。

新建Http Request,获取济南的天气情况,通过访问http://www.weather.com.cn/data/sk/${cityCode}.html获取,此处${cityCode}为正则表达式中匹配的值。

技术分享图片

 运行测试并查看结果:

技术分享图片

注:本学习笔记中的获取济南城市结果的接口获取的日期不正确,济南1月份的天气25摄氏度,太吓人。

 

Jmeter使用入门

标签:bean   中文   正则表达   coding   定义变量   提取   set   ESS   process   

原文地址:https://www.cnblogs.com/zhuzhaoli/p/10259817.html

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