jmeter学习系列--脚本参数化和断言设置

jmeter学习系列--脚本参数化和断言设置

话说上回,我们用Badboy录制了Jmeter的 脚本,用Jmeter打开后形成了原始的脚本。但是在实际应用中,为了增强脚本的多样性,就要使脚本 参数化。这里我以登录为例,参数化 用户账号与用户密码。

图1 :原始脚本
这里我利用Jmeter的CSV Data Set Config来实现参数化功能。
步骤如下:
1.在本地磁盘下新建一个文本。比如:F:\test.txt 文件的内容如下:
user,passwd
user1,passwd1
user2,passwd2
2.右键点击Jmeter中需要参数化的某个请求,选择添加——配置原件——CSV Data Set Config,会添加一个CSV Data Set Config,需要设置相关的一些内容,具体如下:

图2:CSV Data Set Config设置
解释下图2的参数:
Filename:文件名。指保存信息的文件目录,可以相对或者绝对路径(比如:F:\test.txt)
Variable Names:参数名称(如:有几个参数,在这里面就写几个参数名称,每个名称中间用分隔符分割,分隔符在下面的“Delimitet”中定义,为了和文件中的“,”对于,这里也用“,”分割每个参数名,(比如:user,passwd)
Delimitet:定义分隔符,这里定义某个分隔符,则在“Variable Names”用这里定义的分隔符分割参数。
Recycle on EOF:是否循环读入,因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入。
3.在需要使用变量的地方,比如在登录操作中,需要提交的表单字段包含用户名密码,我们就可以用${变量名} 的形式进行替换,例如${user}和${password}。如图3

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

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

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

图6:运行成功的断言结果
运行没有出错。全部成功。我们修改下登录参数,让登录失败,然后看下断言结果。如图

图7:响应断言失败

你可能感兴趣的:(jmeter学习系列--脚本参数化和断言设置)