室内设计接单网站,企业网站建设版本,wordpress 文章同步,微信公众号平台电话jmeter如何参数化#xff1f;我们使用jmeter在进行测试的时候#xff0c;测试数据是一项重要的准备工作#xff0c;每次迭代的数据当不一样的时候#xff0c;需要进行参数化#xff0c;从参数化的文件中来读取测试数据。那么#xff0c;你知道jmeter如何进行参数化吗我们使用jmeter在进行测试的时候测试数据是一项重要的准备工作每次迭代的数据当不一样的时候需要进行参数化从参数化的文件中来读取测试数据。那么你知道jmeter如何进行参数化吗接下来小编就给大家总结了Jmeter参数化设置的5种方法主要详细介绍的是用Csv Data配置元件来进行参数化对于Jmeter参数化设置不太了解到的小伙伴一定要仔细看哦
用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/?categoryWeb其中“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/$/填写在“路径”中。
对于请求中的参数http://blog.da-fang.com/?categoryWeb在Jmeter的http请求中blog.da-fang.com填写在“服务器名称或IP”中;/填写在“路径”中参数名称category填写在“同请求一起发送参数”的“名称”中参数值$填写在对应的“值”中。
Jmeter参数化设置的5种方法
1. 用Jmeter中的函数获取参数值__Random__threadNum__CSVRead__StringFromFile具体调用方法如下
${__Random(,,)}$${__CSVRead(,)}${__StringFromFile(,,,)}。
参看Jmeter函数的使用通过菜单“选项”-“函数助手对话框”即可在“函数助手”弹出框上找到Jmeter的函数。
其中${__Random(,,)}方法的第一个参数为随机数的下限第二个参数为随机数的上限第三个参数为储存随机数的变量名${__CSVRead(,)}方法中第一个参数是文件名第二个参数是文件中的列列数从0开始${__StringFromFile(,,,)}方法中第一个参数是文件名${__StringFromFile(,,,)}方法中没有指定读取文件中的哪一列的参数所以${__StringFromFile(,,,)}只能读取包含一列的文件。
2.用户定义的变量
2.1 添加“配置元件”-“用户定义的变量”
2.2 “名称”中输入变量名称此处以登录为例定义两个变量username和password。“值”中可以直接输入值也可以通过Jmeter的函数__CSVRead__StringFromFile从csv或dat文件中读取还可以通过前缀加随机数的方法设置参数。
当参数值是某个前缀加一个数字时可以用前缀名加${__Random(,,)}或$的方法设置参数值。如进行登录测试之前先准备了用户名为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文件中读取用Csv Data配置元件来进行参数化
当参数的值没有规律且量不太大时可以用这种方法。
具体做法如下
1、打开jmeter图形界面工具打开之前的脚本。 2、右键【添加】-【配置元件】-【Csv Data Set Config】 3、这个配置元件可以允许从你输入的路径来读取文件然后根据分隔符获取到数据。 4、如下图输入的数据。
讲解
a,名称和注释不需要过多解释自己定义。
b,Filename参数化文件的读取位置。这个路径可以是绝对路径也是可以相对路径。在分布式测试中还是利用相对路径比较方便因为有的机器可能安装路径不一样。
c,File Encoding编码格式选择utf-8
d,Variable Names变量名称。这里定义的变量名称后面就可以直接用来引用了。多个变量名称以逗号隔开。例如username,passwd。参数化文件中同样有对应的两列数据。
e,Ignore first line忽略第一行数据。类似loadrunner中第一行数据是变量名称如果你的配置文件中为了记忆第一行也是变量名可以选择是忽略这行数据
f,Delimiter分隔符默认逗号。
g,Allow quoted data是非选项是否允许变量中间有分隔符这里最好先默认false数据中间最好不要有分隔符。
h,Recycle on EOF和Stop thread on EOF按需设置。是否循环到结尾是否停止测试。我这里设置了True和False
i,Sharing mode先选择所有的线程都可以利用此参数化。 5、准备测试数据。这里只是简单的写了几个数据来演示效果。 6、在请求中引用该变量。
引用方法是 ${} ;其中{}内写入参数化中的变量。
注在parameter中加入一些多余的参数没有问题故在访问百度的请求后面随意加了一个参数。 7、修改循环次数。这里设置6次是因为参数里面有5个数据测试一下数据取完之后的效果。 8、点击运行查看结果树。
可以看到共发送了6次请求而且请求参数中已经获取了变量的数据。 9、打开第二个请求。可以看到第二个请求的参数里面变量值为data-b。
顺序读取的。 10、找到最后一个请求点开查看。
请求参数中searchid是data-a说明数据是从头开始取的也就是数据是遍历后循环的。
参数化完成了。 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 URLjdbc:mysql://host:port/db如jdbc:mysql://localhost:3306/testlink
JDBC Driver classcom.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正则表达式提取器
现在我也找了很多测试的朋友做了一个分享技术的交流群共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源没人解答问题坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化性能安全测试开发等等方面有一定建树的技术大牛
分享他们的经验还会分享很多直播讲座和技术沙龙
可以免费学习划重点开源的
qq群号485187702【暗号csdn11】
最后感谢每一个认真阅读我文章的人看着粉丝一路的上涨和关注礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 希望能帮助到你【100%无套路免费领取】