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报错.您 ...
随机推荐
- 一个ftp协议传输文件之后执行脚本无法工作的情况
作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述 移植一个文件系统时候,我在window下git clone了对方仓库源码,然后用FileZ ...
- getline()的使用注意
在使用getline读入一整行时,若是前面是使用getchar().cin这类读入了一个字母,但是不会读入后续换行\n符号或者空格的输入时,再接getline()就容易出现问题. 这是因为输入数字之后 ...
- codeforces578C. Weakness and Poorness
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- Linunx系统引导过程及MBR/GRUB故障
Linunx系统引导过程 系统初始化进程 init进程 Systemd Systemd单元类型 允许级别所对应的systemd目标 修复MBR扇区故障 解决思路 操作 修复GRUB引导故障 解决思路 ...
- ElasticSearch 交互使用
Curl 命令 # 建立索引 [root@dbtest01 ~]# curl -XPUT 'http://10.0.0.121:9200/test' # 插入数据 [root@dbtest01 ~]# ...
- VMware ESXi 开启嵌套虚拟化
VMware ESXi 默认不支持嵌套虚拟化功能,需要修改相关配置文件才能支持. 1.Esxi主机开启ssh,修改 /etc/vmware/config 配置文件,在配置文件后面加入如下配置:vhv. ...
- Linux-用户/用户组身份提权
sudo 身份提权(更安全) su命令在切换用户身份时,如果每个普通用户都能拿到root用户的密码,当其中某个用户不小心泄漏了root的密码,那系统会变得非常不安全. 为了改进这个问题,从而产生了su ...
- 新闻类爬虫库:Newspaper
newspaper库是一个主要用来提取新闻内容及分析的Python爬虫框架.此库适合抓取新闻网页.操作简单易学,即使对完全没了解过爬虫的初学者也非常的友好,简单学习就能轻易上手,除此之外,使用过程你不 ...
- HDU 3920 Clear All of Them I(状压DP)题解
题意:2n个点,一个起点,开n枪,每枪必须打两个点,花费为起点到其中一点距离加上两点距离.问打完2n个点的最小花费. 思路:很显然应该dp状态,然后枚举i j两个空位置去填,那么复杂度$O(20 * ...
- 在利用手背扫描图像+K因子 对室内温度进行回归预测时碰到的问题
1. 关于多输入流: 由于本Mission是双输入, 导师要求尽量能使用Inception之诸, 于是输入便成了问题. 思考: 在Github上找到了keras-inceptionV4进行对网络头尾的 ...