Jmeter使用入门

Posted zhuzhaoli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter使用入门相关的知识,希望对你有一定的参考价值。

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使用入门的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter性能测试 入门

Jmeter性能测试 入门

Jmeter入门(压力测试)

jmeter快速入门

Jmeter性能测试 入门(转载的,很全啊)

Jmeter性能测试 入门