Jmeter参数化的4种方法

诚信丨进取丨合作丨创新

招进松勤,送去企业 你若有梦,松勤有心

成功转行,拿到高薪

提升能力,跳槽涨薪

25号

自动化班与基础就业班

同步开课

等你来

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

1. 用Jmeter中的函数获取参数值,__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:

$,$,$,$。

通过菜单“选项”->“函数助手对话框”,即可在“函数助手”弹出框上找到Jmeter的函数。

其中$方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;$方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);$方法中第一个参数是文件名,$方法中没有指定读取文件中的哪一列的参数,所以$只能读取包含一列的文件。

2.用户定义的变量

2.1 添加“配置元件”->“用户定义的变量”

2.2 “名称”中输入变量名称,此处以登录为例,定义两个变量username和password。“值”中可以直接输入值,也可以通过Jmeter的函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数。

当参数值是某个前缀加一个数字时,可以用前缀名加$或$的方法设置参数值。如进行登录测试之前,先准备了用户名为perf_0到perf_1000的用户,那么用户名就可以设为perf_。

当参数值没有规律的且量不太大时,可以通过$,$从文件中读取,如将用户名和密码保存在user.csv文件中,user.csv的内容如下:

oriana,123456

admin,admin

dandan,123456

因为user.csv文件中有两列数据,所以只能用$函数,username参数后的值设为$,password参数后的值设为$。

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

username:连接数据库的用户名(如root)

password:连接数据库的密码

4.4 添加“Sampler”->“JDBC Request”,在SQL Query中输入查询语句,如下:

SELECT CONCAT (“[",

GROUP_CONCAT(

CONCAT(""),"]“) AS json FROM users

4.5 在4.4中的JDBC请求中添加“后置处理器”->“正则表达式提取器”,以提取3.4中的用户名和密码为例设置正则表达式提取器的参数:

引用名称:user

正则表达式:username:’(.+?)’\{password:’(.+?)’

模板:$1$$2$

使用时,user_g1即为用户名,user_g2即为对应用户名的密码;

松勤护你成功入行,助你跳槽涨薪!

小编随时等待你的撩(V:songniyipixiaoxiaoma,即送你一匹小小马)

关注“松勤软件学院”

松勤

学习技术,多问问题,和松勤一起成长

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619A1GGO400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券