JMeter脚本增强之参数化
JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化、关联、文本检查、集合点设置,甚至再往后的测试结果数据分析,可以说是完全一样的。我们可以把“脚本是怎样产生的”这个过程看成一个黑盒子,这个盒子里面是怎样的操作我们不管,反正最后的产出物就是一个脚本,这个脚本就是一些request,我们要做的就是模拟多个用户把这些request发送到服务器,然后得出测试结论。
本篇先介绍脚本参数化的方法。
JMeter的参数化有两种种方式:借用函数助手、使用配置元件CSV Data Set Config
案例:打开一个系统登录页/app登录页,输入用户名和密码,点击登录
参数保留脚本:在本地新建一个文本,录入要使用的所有参数,把文本保存为.dat格式,这里保存的位置是D:\test.dat

一 借用函数助手__CSVRead
1、点击JMeter菜单栏的“选项”,选择“函数助手对话框”

选择一个功能:__CSVRead
函数参数第一个是参数化文本的路径,第二个表示要取这个文本的第几列。我们的文本就两列,0是第一列,1是第二列,如果有更多列就以此类推。
点击“生成”按钮之后会生成一个函数字符串,这个字符串可以直接拿来用了,先copy出来。

2、找到登录请求页发出的request,在右边的参数列表中找到用户名和密码,也就是我们要参数化的对象。第一次找到的这些请求参数是有具体值的,要把它们变成引用参数。

把刚刚在函数助手生成的字符串复制粘贴到参数的值那一列就ok了。可以只生成一次,然后修改列号就行了。

参数化到这里就做完了,等脚本跑起来之后就会自动调用D:\test.dat这个文件。
3、简单验证一下,因为test.dat里面有三组用户名密码,我们就把线程调成3,添加查看结果数监听,然后运行,不会报错说明参数化没问题。

二 使用配置元件CSV Data Set Config
1、选中线程组->添加->配置与案件->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时,此项无意义
备注说明: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次请求错误
2、使用刚才定义好的变量${userName},${password}

3、参数化设置完毕,然后也可以做简单的验证
总结:个人感觉两种方式用起来都差不多,看自己喜欢。不过论坛上有人认为函数助手方法要比CSV控件方法参数化功能要弱,推荐使用CSV控件方法。
JMeter脚本增强之参数化的更多相关文章
- jmeter的脚本增强之参数化
jmeter作为一款开源的测试工具,功能广泛,深受测试同胞们的喜爱,这次来讲讲关于如何参数化及其方式.那为什么要进行一个参数化呢,如做压测时,要有大量的数据来模拟用户的真实场景,像登录页面操作,系统是 ...
- JMeter脚本增强之集合点
集合点的概念:用于实现所谓并发操作,如果集合点设定是10个人,那么所有的用户就会在同一条起跑线上等着后面的人,等10个人到齐了就哗地一下全部跑出去执行同一个动作.如果设置了超时,那么过了超时时间,有可 ...
- 【转】JMeter脚本的参数化
JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...
- jmeter(十)参数化
jmeter可以用来做接口.性能测试,原理是模拟客户端向服务器发送请求,请求里面包含两种不同情况的参数,一种是包含在URL中,一种是请求中需要发送的参数. 包含在URL中的参数,例如:http://b ...
- LR性能测试脚本增强与调试
脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...
- Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)
一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...
- JMeter脚本录制
1.1. 使用第三方录制方式或代理录制方式(建议) 第三方采用:http://www.badboy.com.au/ 通过badboy来录制,录制后另存为jmx格式即可. 操作步骤: a.打开badb ...
- Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发
前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...
- JMeter 脚本开发(五)
一.JMeter 元件运行顺序 执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) ...
随机推荐
- 20155325 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 上节课讲了些思维方法:git,vim的使用技巧,推荐了picpick截图软件. 第三章书本上涵盖了基本语法内容 由于在语法方面java和c有相似之处,所以我重点关注不同之处和易忽略之 ...
- 北京Uber优步司机奖励政策(4月13日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 【MySQL函数】日期篇
1.date_format()函数 date_format(createtime,'%Y') 年 date_format(createtime,'%Y-%m') 年月 date_format(crea ...
- Python闭包相关问题
闭包的概念一直是似懂非懂,看过了原理,却不知道怎么实际应用. 刚好看到Python的late binding问题,记录如下,以备后续增补. >>> def create_multip ...
- win7升级到win10,出现算术运算溢出问题
前台winform,后台java代码是: OutputStream ou=(OutputStream)response.getOutputStream(); ou.write(rightSet.get ...
- java list根据id获取子节点
工作中因业务需求,将数据库中的树状结构的数据根据父节点获取所有的子节点 实现思路 1.获取整个数据的list集合数据 2.将数据分组,java8 list有groupby分组,java8之前的自己遍历 ...
- 英特尔® 实感™ 深度摄像头代码示例 – R200 摄像头数据流
英特尔开发人员专区原文地址 简介 该可下载代码示例展示了如何使用面向 Windows 的英特尔® 实感™ SDK* 捕捉和查看用 C#/XAML 编写的原始 R200 摄像头数据流. Visual S ...
- Java实现网上商城
// 第一个JavaWeb项目 //练手项目没有使用框架 github下载 https://github.com/dejavudwh/Online-Shopping 项目截图 1.基本实现了购物网站该 ...
- leetcode26_C++删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...
- python3 ,AttributeError: module 'tensorflow' has no attribute 'merge_summary'
error:tensorflow有些方法属性被改了, self.summary_writer = tf.train.SummaryWriter(summary_dir)改为:summary.FileW ...