JMeter脚本的参数化

当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了。
在我看来,调试应该包括有以下几个方面:
1.根据测试场景对脚本进行必要的修改;
2.脚本参数化;
3.添加适当的Listener,进行测试结果的简单收集
今天讲到的是脚本的参数化问题。
在Jmeter里面,可以利用的对Request进行配置的组件都包含在Configuration Elements中。
其中CSV Data Set Config就是我们今天讲的主角。
假如,现在要测试某个网站的Search的性能,于是你录制了一个search的HTTP Request。
利用Jmeter打开后可以看到录制脚本中,search的字段是参数名字为p,如下图:

参数化Step 1:将HTTP Request需要参数化的项的Value处,用${参数名}代替;如:将p的Value修改为${Searchitem}
参数化Step 2:在名叫Step 1的Simple Concoller中添加CSV Data Set Config
参数化Step 3:设置CSV Data Set Config

Filename --- 参数项文件
File Encoding --- 文件的编译方法,一般为空
Vaiable Names --- 文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
Delimiter --- 如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写\t;
Recycle on EOF? --- True=当读取文件到结尾时,再重头读取文件
                               False=当读取文件到结尾时,停止读取文件
Stop thread on EOF? --- 当Recycle on EOF?一项为False时起效;True=当读取文件到结尾时,停止进程
 

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

【转】JMeter脚本的参数化的更多相关文章

  1. JMeter脚本参数化和断言设置( CSV Data Set Config )

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

  2. JMeter脚本录制

    1.1. 使用第三方录制方式或代理录制方式(建议)  第三方采用:http://www.badboy.com.au/ 通过badboy来录制,录制后另存为jmx格式即可. 操作步骤: a.打开badb ...

  3. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发

    前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...

  4. Jmeter 03 Jmeter脚本开发

    JMeter 工作区介绍 JMeter Http 协议录制 JMeter 脚本调测 JMeter 关联 JMeter 参数化 JMeter 检查点 JMeter 事务 JMeter 集合点 JMete ...

  5. Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

    有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...

  6. 提升jmeter脚本编写效率的方法:Fiddler导出jmx文件

    有效提升编写JMeter脚本效率的方法 jmeter的脚本来源有以下几种:badboy录制.jmeter自带的录制功能.手动编写脚本(使用fiddler/wireshark来抓包,然后构造协议写脚本) ...

  7. Fiddler扩展——导出Jmeter脚本

    前言 Fiddler,对于大家而言,应该早已耳熟能详,是个抓包神器,具体的使用,我就不多说了.如果对Fiddler的使用还不太熟练,可以翻看我以前一系列的博文.我罗列出来,方便大家阅读,如下所示: 1 ...

  8. 性能测试学习之路 (四)jmeter 脚本开发实战(JDBC &JMS &接口脚本 & 轻量级接口自动化测试框架)

    1.业务级脚本开发 登录脚本->思路:在线程组下新建两个HTTP请求,一个是完成访问登录页,一个是完成登录的数据提交.   步骤如下: 1) 访问登录页 2) 提交登录数据的HTTP PS:对于 ...

  9. 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)

    目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...

随机推荐

  1. scala mapPartitionsWithIndex函数的使用

    var rdd1=sc.makeRDD(Array((1,"A"),(2,"B"),(3,"C"),(4,"D")),2 ...

  2. Android -- 利用ContentProvider 读取和写入短信

    1. 读写短信 示例代码 均需要先获得读写短信的权限 <uses-permission android:name="android.permission.WRITE_SMS" ...

  3. NVMe到底是什么?用它的SSD有啥优势?

    有玩过SSD的朋友应该都清楚想要让SSD发挥出真正实力的话要去BIOS里面把SATA控制器模式切换成AHCI,对SATA设备来说使用AHCI模式的确是正确的选择,切换成AHCI可获得更好的性能.但是现 ...

  4. Windows API的消息处理机制

    上个学期找实习失利,让我觉得自己基础打得不够牢固,所以在华为实习的这三个月里,每天下班都在复习理论课的知识,顺便刷了一个月的 LeetCode.本来以为找工作是势在必得了,结果这个学期秋季校招的坑爹经 ...

  5. commond prompt CD

    如果要进入目前所在盘符的其他路径用cd命令可进入,但如果从c盘进入d盘等,是不用cd命令的. 如目前在c盘的任意目录,需要切换到d盘的根目录,用:“d:”命令(不含引号),如图: cd命令简介: 第一 ...

  6. Python输出中文到文件时的字符编码问题

    今天在使用Python的GUI平台wxPython时,写了一个只有打开.编辑.保存功能的简易笔记本,代码如下: #coding:utf-8 import wx def load(event): f = ...

  7. matlab批量转化img到gray

    path = 'D:\宝贝儿数据集\COIL-3D\coil-100\'; save_path = 'D:\宝贝儿数据集\COIL-3D\coil-100-gray\'; file=dir([path ...

  8. 绕过SQL限制的方法

    突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以 ...

  9. Windows Phone 8 Programming Considerations

    OpenGL ES 2.0 Support Marmalade supports the Open GL ES 2.0 Graphics API on Windows Phone 8 using a ...

  10. I-O流概念认知升级

    在文件操作基础入门中,我们提到了流的 概念,这篇我们将更多的介绍流这个东西,以及C的I/O相关知识 现在,我们从C程序员最熟悉的printf函数开始学习I/O流. 我们对printf函数一直是很喜爱的 ...