Jmeter参数化

使用jmeter时有时需要访问不同的uri,或POST不同的数据。这时候可以对数据参数化,将数据写入文件,再从文件读取。下面举个例子说明如何使用CSV Data Set Config参数化。

这里有两个请求:

http://www.cnblogs.com/zoro-robin/p/5908644.html

http://www.cnblogs.com/zoro-robin/p/5960682.html

下面用参数化的方法实现对这两个请求的访问。

a.首先建立线程组,添加一个http请求,并配置域名为www.cnblogs.com

image

b.然后建立一个文本文件,写入域名后的uri,将其保存在D:/uri.txt。编码问题在使用CSV Data Set Config参数化时要求的比较严格,记事本另存为修改编码UTF-8

image

c.选中线程组,在其下面添加配置元件CSV Data Set Config

image

解释一下:

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时,此项无意义

这里用通俗的语言大概讲一下Recycle on EOF与Stop thread on EOF结果的关联

Recycle on EOF :到了文件尾处,是否循环读取参数,选项:true和false

Stop thread on EOF:到了文件尾处,是否停止线程,选项:true和false

当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义

当Recycle on EOF 选择flase时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次

当Recycle on EOF 选择flase时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求错误

d.根据CSV Data Set Config中的变量名称,找到HTTP请求中的path数据

image

e.修改线程组运行次数,确保这2个URL都要被线程执行到

image

f.添加查看结果树

image

g.运行一下,看看我们发过去的请求是否可以得到服务器相应的返回数据。

第一个url:

image

第二个:

image

posted @ 2016-10-27 17:05  zoro_robin  Views(369)  Comments(0Edit  收藏  举报