Jmeter的脚本参数化
一、变量
Jmeter中的变量用法:${变量名称}
变量定义:两种
1、用户定义变量 User Defined Variables
2、用户参数 User Parameters
1.1用户定义变量
步骤:线程组 ->添加->配置元件->用户定于变量

1.2用户参数
步骤:线程组 ->添加->前置处理器->用户参数

实际上在我们工作中,注册这个接口,是需要不同的手机号码去注册的,如果我每次就算通过变量方式去操作,假如手机号码不变,那跟原来的一个个手动输入值就没什么不同了,也就没必要了;所以我们希望的是它不断的变化
那怎么让它变呢?随机数,如何生成随机数?

拓展:假如不是号码,公司里面需要大量不同的用户昵称怎么办?相当于随机的用户名怎么办?也就是不同的字母组合合成的字符串;假如我要生成2-8位字符的用户名怎么办?那么,只需要先生成2-8位的随机数即可

现在,回到正轨,那么用户定义的变量和用户参数有什么异同呢?
共同点:两者均可以用于定义变量
不同点:前提:1个用户,循环3次(跑3次) ,用户定义变量:手机号没有变化 , 用户参数:手机号会变化
前提:3个用户,循环1次(跑1次), 用户定义变量:手机号没有变化 , 用户参数:手机号会变化
规律一:用户定义变量,在jmeter启动时,获取一次值,在运行过程中,不再获取值
用户参数,在jmeter启动时,获取一次值,在运行过程中,还会动态获取值
特点二:用户定义变量,是全局变量;用户参数,是局部变量

二、函数
特别要注意:严格区分大小写 和 ${__函数名称()}
1、__counter:计数器函数
2、__CSVRead:CSV的阉割版
3、__dateTimeConvert:时间转换
4、__digest:加密算法,支持MD5
5、__machineIP:获取本机器IP
6、__machineName:获取本机器名称
7、__P、__property:获取jmeter属性的函数
8、__setProperty:设置jmeter属性的函数
9、__time:获取当前时间函数
10、__V:拼接函数,将函数拼接在一起
${__counter(,)} 计数器,点击【帮助】可以打开文档

${__digest(MD5,123456,,,)} 加密

${__P(,)}、${__property(,,)} 获取jmeter属性的函数 , 它们是同一个函数(没有区别),获取.properties配合文件中属性的值
${__setProperty(,,)} 设置jmeter的属性函数,设置.properties配合文件中属性的值
属性:写在properties文件中的属性,是静态属性,已经写死在文件中;
setProperty函数设置的属性,是动态属性,只对当前启动的jmeter有效,关闭后,自动失效
系统属性:操作系统,字符编码等等;只能获取,读取,不能修改

${__time(YMD,)} 获取当前函数

${__V(,)} 拼接函数

三、CSV配置元件
线程组-->添加-->配置元件-->CSV数据文件设置

(1)文件名:可用csv和txt文件
文件选择,优先选择用txt文件
原因1:csv消耗资源更多
原因2:csv文件默认编码不是utf-8,中文可能出现乱码
文件路径,优先使用相对路径,为了兼容不同测试员使用
原因:默认用绝对路径,文件的路径一旦找不到,脚本无法执行
相对路径写法:相对于当前.jmx文件的位置“./user.txt”
在上一级文件中:“../user.txt”
(2)分隔符:使用符号分隔参数值
csv文件:使用“英文逗号”间隔
txt文件:是什么间隔,就用什么符号;
tab键制表符,用“\t”间隔
且看一下实际应用截图:
a---------csv文件

b------------txt文件

c----------手机号码和密码,两个字段

Jmeter的脚本参数化的更多相关文章
- Jmeter(二十一)_脚本参数化与内存溢出的解决方案
这一篇文章随便说一下JMETER的脚本参数化 1:Parameters的两种参数化方法 1.1:函数助手参数化 首先准备你的参数数据.我在bin/data中新建了一个dat文件,记事本另存为修改编码为 ...
- Jmeter_脚本参数化与内存溢出的解决方案
这一篇文章随便说一下JMETER的脚本参数化 1:Parameters的两种参数化方法 1.1:函数助手参数化 首先准备你的参数数据.我在bin/data中新建了一个dat文件,记事本另存为修改编码为 ...
- JMeter脚本参数化和断言设置( CSV Data Set Config )
用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码. 图1 :原始脚本 ...
- 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)
目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...
- Badboy录制脚本参数化
Jmeter录制脚本多采用Badboy工具 简单参数修改 第一步,先录制场景: a.开始录制,打开浏览器www.sogou.com b.在输入框中输入文字“Badboy" c.回车,关闭录制 ...
- Jmeter 录制脚本
Jmeter中有2种方法可以录制脚本. 不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用. 像我这么精通HTTP协议的人. 一直都是使用Fiddler来抓包,然后自己写脚本. 无论 ...
- 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢
通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢
- LoadRunner脚本参数化之设置条件与运行结果说明
性能测试中为什么需要进行参数化? 1.功能方面:首先要保证脚本的功能完善.可用性.(一般来说,参数化主要针对业务中的具备唯一性的数据.) 2.性能方面:一般来说,如果服务器存在缓存机制,在测试过程中, ...
- Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错
转载自 https://www.cnblogs.com/wwho/p/7173172.html Jmeter录制脚本过程及Could not create script recorder报错.您 ...
随机推荐
- 【洛谷 p3371】模板-单源最短路径(图论)
题目:给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 解法:spfa算法. 1 #include<cstdio> 2 #include<cstdlib> 3 #in ...
- 洛谷 P3385 【模板】负环 (SPFA)
题意:有一个\(n\)个点的有向图,从\(1\)出发,问是否有负环. 题解:我们可以用SPFA来进行判断,在更新边的时候,同时更新路径的边数,因为假如有负环的话,SPFA这个过程一定会无限重复的遍历这 ...
- 洛谷P1462-通往奥格瑞玛的道路-二分+最短路
洛谷P1462-通往奥格瑞玛的道路 题目描述 在艾泽拉斯,有\(n\)个城市.编号为\(1,2,3,...,n\). 城市之间有\(m\)条双向的公路,连接着两个城市,从某个城市到另一个城市,会遭到联 ...
- bzoj4695 最假女选手(势能线段树/吉司机线段树)题解
题意: 已知\(n\)个数字,进行以下操作: \(1.\)给一个区间\([L,R]\) 加上一个数\(x\) \(2.\)把一个区间\([L,R]\) 里小于\(x\) 的数变成\(x\) \(3.\ ...
- HDU 3966 Aragorn's Story(树链剖分)题解
题意:给一棵树,要求你对一个路径上的值进行加减,查询某个点的值 思路:重链剖分. 由于分了轻重儿子,我每次到重儿子的top只要O(1),经过的轻儿子最多logn条,那么我每次往上跳最多跳logn次. ...
- Swift 5.3 All In One
Swift 5.3 All In One refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- JS Object Deep Copy & 深拷贝 & 浅拷贝
JS Object Deep Copy & 深拷贝 & 浅拷贝 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refe ...
- Regular Expression & rgb2hex
Regular Expression & rgb2hex regex // 颜色字符串转换 function rgb2hex(sRGB = 'rgb(255, 255, 255)') { co ...
- JavaScript Array methods performance compare
JavaScript Array methods performance compare JavaScript数组方法的性能对比 env $ node -v # v12.18.0 push vs un ...
- Flutter for web
Flutter for web https://flutter.dev/web https://github.com/flutter/flutter_web Dart https://github.c ...