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

JMeter学习(四)参数化、断言、集合点

时间:2015-04-29 19:43:47      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:

1.参数化

录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。

这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。

JMeter的参数化存在两种方式

准备工作

a)录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:

技术分享

b)我们需要“参数化”的数据,用记事本写了三个用户名和密码,保存为.txt格式文件注意:用户名和密码是一一对应的,中间用户逗号(,)隔开。

技术分享

参数化的两种方式

(1)借助函数助手的方式

a)点击菜单栏“选项”---->函数助手对话框,看下图:  CSV文件列号是从0开始的,第一列0、第二列1、第三列2、依次类推

技术分享

b)复制生成的参数化函数,打开登陆请求页面,在右则的参数化中找到我们要参数化的字段,这里对用户名和密码做参数化,第一列是用户名,列号为0;第二列是密码,列号为1;修改函数中对应的参数化字段列号就可以啦

技术分享

好了,现在我们的参数化设置完成,在脚本的时候,会调用我们d:\JMeter\Login.txt文件,第一列是用户,第二列是密码。

(2)借助JMeter中的配置元件(CSV Data Set Config)

a)选中线程组,点击右键,添加-配置元件-CSV Data Set Config

技术分享

说明:

Filename --- 参数项文件
File Encoding --- 文件的编码,设置为UTF-8
Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件
                    False=当读取文件到结尾时,停止读取文件
Stop thread on EOF? --- 当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

b)使用刚才定义好的变量

技术分享

 

至此,两种参数化的方法就介绍完了。

需要说明一下:函数助手方法要比CSV控件方法参数化功能要弱,推荐使用CSV控件方法。

2.断言

JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现。

JMeter里面的检查点通过添加断言来完成。

上面讲到,我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用t.dat里面的文件呢。当然,我们可以从结果图表中查看。但我还是想在“登录”这个地方进行一下检查。

(1)添加响应断言,右键点击我们的“登录”页面---->添加---->断言---->响应断言

技术分享

(2)设置响应断言

技术分享

断言中可以添加多个断言一起判断,断言中也可以使用参数化方法,进行动态判断。

(3)添加断言结果,右键点击我们的“登录”页面---->添加---->监听器---->断言结果

 再添加一个“查看结果树” 右键点击我们的“登录”页面---->添加---->监听器---->查看结果树

技术分享

在线程组中设置3个用户,点击运行运行。

(4)查看断言结果

a)、成功如下图:

技术分享

b)、若断言失败,如下图:

技术分享

注意:一般成功只会显示一行数据,否则会多显示一行。至此,检查点设置完成。

3.集合点

JMeter也有像LR中的集合点,本篇就来介绍下JMeter的集合点如何去实现。

JMeter里面的集合点通过添加定时器来完成。

注意:集合点的位置一定要在Sample之前.

简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,拿那个用户和密码的地方,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等一等,然后,一起访问。

(1)接着之前创建的脚本,右键点击 线程组---->定时器---->Synchronizing Timer

技术分享

这样子就添加了一个“集合点”,下面来设置一下集合点,设置延迟时间(以毫秒为单位)

技术分享

(2)我们添加完之后的列表是这个样子的

技术分享

发现了没,我们集合点的位置不对,应该在登录的前面才对。怎么弄呢?

简单方法:拖住集合点,直接移动Synchronizing Timer至登录的前面即可。

技术分享

至此,集合点已添加完成。

 

综上,即为JMeter的参数化、断言、集合点的添加方法。

 

JMeter学习(四)参数化、断言、集合点

标签:

原文地址:http://www.cnblogs.com/tian-yong/p/4466690.html

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