`

转 Jmeter参数化的4种方法

阅读更多
<!-- .entry-meta -->

用Jmeter测试时包含两种情况的参数,一种是在url中,一种是请求中需要发送的参数。

URL中的参数,如:http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/,其中“2010/06/01/jmeter参数”为url参数。
请求中的参数,此处只能举例get请求,如:http://blog.da-fang.com/?category=Web,其中“category”是参数名,“Web”是它的值。
对于post请求,用jmeter录制后,可以在请求的“同请求一起发送参数”和“同请求一起发送文件”中找到。

参数化Jmeter脚本时,使用参数的地方书写格式为${参数名}
对于URL“http://blog.da-fang.com/index.php/2010/06/01/jmeter参数/”,在Jmeter的http请求中blog.da-fang.com填写在“服务器名称或IP”中;/index.php/${url_parameter}/填写在“路径”中。
对于请求中的参数http://blog.da-fang.com/?category=Web,在Jmeter的http请求中blog.da-fang.com填写在“服务器名称或IP”中;/填写在“路径”中;参数名称category填写在“同请求一起发送参数”的“名称”中,参数值${category_name}填写在对应的“值”中。

设置参数值的方法有如下几种:

1. 用Jmeter中的函数获取参数值,__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:
${__Random(,,)},${__threadNum},${__CSVRead(,)},${__StringFromFile(,,,)}。
参看Jmeter函数的使用,通过菜单“选项”->“函数助手对话框”,即可在“函数助手”弹出框上找到Jmeter的函数。
其中${__Random(,,)}方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;${__CSVRead(,)}方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);${__StringFromFile(,,,)}方法中第一个参数是文件名,${__StringFromFile(,,,)}方法中没有指定读取文件中的哪一列的参数,所以${__StringFromFile(,,,)}只能读取包含一列的文件。

2.用户定义的变量
2.1 添加“配置元件”->“用户定义的变量”
2.2 “名称”中输入变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输入值,也可以通过Jmeter的函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数。
当参数值是某个前缀加一个数字时,可以用前缀名加${__Random(,,)}或${__threadNum}的方法设置参数值。如进行登录测试之前,先准备了用户名为perf_0到perf_1000的用户,那么用户名就可以设为perf_{__Random(0,1000,)}。
当参数值没有规律的且量不太大时,可以通过${__CSVRead(,)},${__StringFromFile(,,,)}从文件中读取,如将用户名和密码保存在user.csv文件中,user.csv的内容如下:
oriana,123456
admin,admin
dandan,123456
因为user.csv文件中有两列数据,所以只能用${__CSVRead(,)}函数,username参数后的值设为${__CSVRead(user.csv,0)},password参数后的值设为${__CSVRead(user.csv,1)}。

3. 从csv文件中读取
当参数的值没有规律且量不太大时,可以用这种方法。
具体做法如下:
3.1 创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名
3.2 在测试计划或线程组中添加一个“配置元件”->“CSV Data Set Config”
3.3 Filename中填写步骤2.1中csv文件的完整路径(当csv文件在bin目录下时,只需给出文件名即可)
3.4 Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开
4.从数据库中获取
当参数的值没有规律且量比较大时,可以选用这种方法。
具体做法如下:
4.1 下载MySQL JDBC “http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http://ftp.jaist.ac.jp/pub/mysql/
4.2 解压下载的zip包后,将其中的mysql-connector-java-5.1.12-bin.jar放到Jmeter的lib目录下
4.3 添加“配置元件”->“JDBC Connection Configuration”,设置下列参数:
Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink
JDBC Driver class:com.mysql.jdbc.Driver
username:连接数据库的用户名(如root)
password:连接数据库的密码
4.4 添加“Sampler”->“JDBC Request”,在SQL Query中输入查询语句,如下:
SELECT CONCAT (“[",
GROUP_CONCAT(
CONCAT("{username:'",login,"'"),
CONCAT("{password:'",password),"'}"),"]“) AS json FROM users
4.5 在4.4中的JDBC请求中添加“后置处理器”->“正则表达式提取器”,以提取3.4中的用户名和密码为例设置正则表达式提取器的参数:
引用名称:user
正则表达式:username:’(.+?)’\{password:’(.+?)’
模板:$1$$2$
使用时,user_g1即为用户名,user_g2即为对应用户名的密码;更多正则表达式提取方法参见Jmeter正则表达式提取器

5.用正则表达式从前面请求的响应数据中提取,具体操作见Jmeter正则表达式提取器

分享到:
评论

相关推荐

    jmeter参数化5种方式脚本

    jmeter参数化5种方式脚本:用户自定义、函数、csv、数据库、正则提取。还包含post请求,get请求

    jmeter参数化方法

    #### 三、常见的JMeter参数化方法 JMeter提供了多种方式进行参数化,包括但不限于: 1. **用户参数** 2. **配置参数** 3. **CSV Data Set Config** 接下来,我们将详细介绍这些参数化方法及其应用场景。 #### 四...

    Jmeter参数化方法汇总教程测试脚本

    Jmeter参数化方法汇总教程测试脚本: 1、Jmeter参数化之用户变量 2、Jmeter参数化之用户动态设置变量 3、Jmeter参数化之函数助手 4、Jmeter参数化之CSV配置元件 5、Jmeter参数化之从数据库读取数据

    jmeter参数化-随机姓名生成

    1、下载Mock包使用函数对话框助手随机生成姓名进行参数化; 2、下载完成后将jar包放入jemter安装目录下的lib/ext文件夹下重启jmeter即可 3、jmeter中【选项】--【函数助手对话框】--在值内输入@cname 点击生成 4、...

    jmeter常用的参数化方法.docx

    以下是JMeter常用的三种参数化方法的详细说明: 1. **变量设置方法**: - 在线程组下,右键选择请求场景,然后添加“前置处理器” -&gt; “用户参数”。在这个用户参数配置中,你可以增加变量并为其设置参数。例如,...

    Swagger转JMeter脚本工具

    Swagger转JMeter脚本工具是一种高效实用的自动化测试解决方案,它能够帮助IT专业人士将基于Swagger定义的RESTful API接口快速转换成JMeter测试脚本。Swagger是一个流行的API设计框架,用于构建、文档化和测试RESTful...

    jmeter实例(json断言+参数化)

    ### jmeter实例(json断言+参数化) #### 概述 本文档旨在详细解析如何在JMeter中利用JSON断言以及参数化技术来进行高效、准确的接口测试。通过具体的案例,我们将逐步介绍如何配置JSON断言来校验JSON响应数据的...

    JMETER 如何参数化

    JMeter 提供了两种主要的参数化方法:通过函数助手和配置元件(CSV Data Set Config)。 ### 方式一:借助函数助手 1. **启动函数助手对话框**:在 JMeter 的菜单栏中选择“选项”-&gt;“函数助手对话框”。 2. **...

    Jmeter参数化实现方法及应用实例

    Jmeter参数化实现方法及应用实例 Jmeter参数化是自动化测试脚本的一种常用技巧,可以将脚本中的某些输入使用参数来代替,以实现数据驱动测试(Data Driven Test)。在Jmeter中,参数化可以应用于多方面,包括请求...

    jmeter接口自动化测试插件swagger转jmeter脚本.zip

    《JMeter接口自动化测试:Swagger转JMeter脚本实践指南》 在软件开发过程中,接口自动化测试已经成为确保系统稳定性和高效性的重要环节。其中,Apache JMeter作为一个强大的性能测试工具,广泛应用于接口测试领域。...

    Jmeter参数化获取序列数据实现过程

    Jmeter参数化获取序列数据实现过程 Jmeter 参数化获取序列数据实现过程是指通过 Jmeter 的参数化功能来获取序列数据的过程。序列数据是一种特殊类型的数据,它可以根据需要生成顺序值,如 1, 2, 3, 4, 5, 6 或者...

    jmeter参数化

    本文将详细介绍 JMeter 的参数化方法,包括从文件中读取数据、用户变量和函数读取数据三种方法。 从文件中读取数据 JMeter 提供了 CSV Data Set Config 配置元件,用于从 CSV 文件中读取数据。这种方法可以将测试...

    jmeter--参数化

    jmeter参数化。

    jmeter 参数脚本演示

    最后,通过查看“Jmeter参数化方法汇总教程测试脚本”这个压缩包内的文件,你可以更直观地学习这些概念。实际操作中,你应该仔细阅读脚本,理解每个组件的作用,同时模仿创建自己的测试计划,以加深理解。 总结起来...

    jmeter研究用户参数化设置

    jmeter研究用户参数化设置,用csv数据的性能测试模板,很多人都是这么设置的

    jmeter 参数化脚本

    jmeter实现json关联、json断言、getpost请求、导出报告等功能 具体看:https://blog.csdn.net/QWERTY55555/article/details/107358626

    Jmeter参数化实现原理及过程解析

    JMeter参数化实现原理及过程解析 JMeter参数化是性能测试中的一个重要概念,它允许用户使用不同的输入...JMeter参数化实现原理及过程解析为测试人员提供了一种灵活和自动化的测试方式,能够提高测试效率和测试覆盖率。

Global site tag (gtag.js) - Google Analytics