Jmeter学习过程中,发现了比较好的关于Jmeter的使用,在这里我就不详细写了,直接引用了,嘿嘿!


LR有的JMeter也有之一“参数化”http://www.cnblogs.com/fnng/archive/2011/07/28/2119896.html


LR有的JMeter也有之二“检查点”http://www.cnblogs.com/fnng/archive/2011/07/28/2119921.html


LR有的JMeter也有之三“集合点”http://www.cnblogs.com/fnng/archive/2011/07/28/2119941.html


 JMeter参数化第二种方法介绍

当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了。
在我看来,调试应该包括有以下几个方面:
1.根据测试场景对脚本进行必要的修改;
2.脚本参数化;
3.添加适当的Listener,进行测试结果的简单收集
今天讲到的是脚本的参数化问题。
在Jmeter里面,可以利用的对Request进行配置的组件都包含在Configuration Elements(配置元件)中。
其中CSV Data Set Config就是我们今天讲的主角。
假如,现在要测试某个网站的Search的性能,于是你录制了一个search的HTTP Request。
参数化Step 1:右键点击JMeter中需要参数化的某个请求,选择添加——配置元件——CSV Date Set Config,会添加一个CSV Date Set Config,需要设置相关的一些内容,具体如下:

图1

Filename --- 参数项文件名。指保存信息的文件目录,可以相对或者绝对路径(比如:C:\searchiteam.cs)
File Encoding --- 文件的编译方法,一般为空
Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;

Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;
Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件,False=当读取文件到结尾时,停止读取文件;
Stop thread on EOF? --- 当Recycle on EOF?一项为False时起效;True=当读取文件到结尾时,停止进程;

参数化Step 2:将HTTP Request需要参数化的项的Value处,用${参数名}代替;如:将p的Value修改为${Searchitem}

如图:

图2:参数设置

这样,脚本的参数化基本上完成了。如果我们要确定Jmeter有没有按照我们的预期进行工作,我们应当考虑使Jmeter提供的断言,加到Sampler里面可以对返回的结果进行判断,例如判断HTTP返回结果里面是否含有某个字符串。我们可以根据自己的需要选择要测试的响应字段,文本,还是代码,一般选择响应文本,然后,我们选择匹配规则,一般选择“包含”,如果要精确匹配,则可以选择“匹配”,但是选择“匹配”,因为响应的内容一般还包含其他的信息,比如html语言标签,所以很难准确匹配。然后在在要册似乎的模式下面,添加你要响应的内容。如图

图3:断言设置

添加好断言后,要添加一个监听器,以监听响应断言,选择添加——监听器——断言结果。

图4:添加断言

添加完断言结果后,我们运行脚本来测试下参数化和断言的功能。首先先设置下线程组中的线程数,Ramp-up period,和循环次数,我这里设置为10,0,5.就是10个线程并发,循环5次。然后点击运行-启动。我们查看断言结果的图。

图5:运行成功的断言结果

完成步骤之后,脚本的参数化就大功告成了。
其实,在我看来大部分的测试软件的参数化都是类似的,都是将需要参数化的项目用符号替代,然后通过定义参数文件中的各项来达到参数化的目的。
相比起Jmeter2.2版本,CSV Data Set Config添加了File Encoding(个人认为没有什么用);参数间分隔符多了Tab;Stop thread on EOF?
还有补充说明一下,在Jmeter中除了可以为HTTP Request进行参数化,还可以给其他的请求做参数化,做法都是类似的。

 

posted on 2011-10-31 17:43  猥琐丶欲为  阅读(1763)  评论(0编辑  收藏  举报