一、变量

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的脚本参数化的更多相关文章

  1. Jmeter(二十一)_脚本参数化与内存溢出的解决方案

    这一篇文章随便说一下JMETER的脚本参数化 1:Parameters的两种参数化方法 1.1:函数助手参数化 首先准备你的参数数据.我在bin/data中新建了一个dat文件,记事本另存为修改编码为 ...

  2. Jmeter_脚本参数化与内存溢出的解决方案

    这一篇文章随便说一下JMETER的脚本参数化 1:Parameters的两种参数化方法 1.1:函数助手参数化 首先准备你的参数数据.我在bin/data中新建了一个dat文件,记事本另存为修改编码为 ...

  3. JMeter脚本参数化和断言设置( CSV Data Set Config )

    用Badboy录制了Jmeter的脚本,用Jmeter打开后形成了原始的脚本.但是在实际应用中,为了增强脚本的多样性,就要使脚本参数化.这里我以登录为例,参数化用户账号与用户密码.  图1 :原始脚本 ...

  4. 『动善时』JMeter基础 — 22、JMeter中实现参数化(CSV)

    目录 1.参数化的定义 2.什么情况下需要用到参数化 3.JMeter实现参数化的方式 4.CSV数据文件设置界面详细说明 (1)CSV数据文件设置组件界面说明 (2)补充说明:Recycle on ...

  5. Badboy录制脚本参数化

    Jmeter录制脚本多采用Badboy工具 简单参数修改 第一步,先录制场景: a.开始录制,打开浏览器www.sogou.com b.在输入框中输入文字“Badboy" c.回车,关闭录制 ...

  6. Jmeter 录制脚本

    Jmeter中有2种方法可以录制脚本.  不过我个人非常不推荐录制脚本,录制的脚本混乱,需要再次加工才能使用. 像我这么精通HTTP协议的人. 一直都是使用Fiddler来抓包,然后自己写脚本. 无论 ...

  7. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  8. LoadRunner脚本参数化之设置条件与运行结果说明

    性能测试中为什么需要进行参数化? 1.功能方面:首先要保证脚本的功能完善.可用性.(一般来说,参数化主要针对业务中的具备唯一性的数据.) 2.性能方面:一般来说,如果服务器存在缓存机制,在测试过程中, ...

  9. Jmeter录制脚本过程及Could not create script recorder报错、您的连接不是私密连接报错

    转载自    https://www.cnblogs.com/wwho/p/7173172.html Jmeter录制脚本过程及Could not create script recorder报错.您 ...

随机推荐

  1. Codeforces Round #686 (Div. 3) E. Number of Simple Paths (思维,图,bfs)

    题意:有一个\(n\)个点,\(n\)条边的图,问你长度至少为\(1\)的简单路径有多少条. 题解:根据树的性质,我们知道这颗树一定存在一个环,假如一棵树没有环,那么它的所有长度不小于\(1\)的简单 ...

  2. JavaScript——四

    引用案例:事件只能执行一次 array里面都是事件对象 点击box3区域时,则会有事件冒泡现象,即:box3响应后,box2(比他大一节)的区域,box1(比box2大一级)相应出现响应事件现象 捕获 ...

  3. SpringCloud @RefreshScope标注的Bean在生命周期中怎么样的?

    @RefreshScope 前言 该文章是由上一篇引申而来的,上一篇文章描述了Nacos是怎么触发配置刷新的,接着来写有关@RefreshScope的一些东西,都是由DEBUG而来 上一篇 文章概览 ...

  4. Docker网络模式详解

    一.Docker四种工作模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .hosthost:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用 ...

  5. vector最最最基础用法(非原创)

    在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<in ...

  6. 错误记录:MQJE001: 完成代码为 '2',原因为 '2035'。

    在windows server 2008上安装websphere mq7.5 服务端,建立队列.通过java client向我的机器的队列发送消息和接收消息. mq安装成功,队列管理器.队列.通道也都 ...

  7. vue-cli-service & @vue/cli-service

    vue-cli-service & @vue/cli-service https://www.npmjs.com/package/@vue/cli-service https://yarnpk ...

  8. Flutter CLI commands All In One

    Flutter CLI commands All In One Flutter run key commands. r Hot reload. R Hot restart. h Repeat this ...

  9. js 金融数字格式化

    js 金融数字格式化 finance money number format 数字格式化 regex `123456789`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') ...

  10. Jupyter All In One

    Jupyter All In One Jupyter Architecture https://jupyter.readthedocs.io/en/latest/projects/architectu ...