一、变量

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. SQL(replace)替换字段中指定的字符

    语法:update 表名 set 字段名=REPLACE(字段名,'修改前的字符','修改后的字符') 例 Product商品表中Name 名字字段中描述中将'AAA' 修改成 'BBB' SQL语句 ...

  2. Scala类型参数(泛型)与隐式转换

    package com.yz9 import org.junit.Test import scala.collection.mutable.ListBuffer class test { @Test ...

  3. Milk Patterns POJ - 3261 后缀数组

    Farmer John has noticed that the quality of milk given by his cows varies from day to day. On furthe ...

  4. Spring web之restTemplate超时问题处理

    问题 项目中有个远程服务因为某些原因会访问不通,于是就在调用的那一步挂起无法结束了. 查看代码 代码大概如下 CloseableHttpClient closeableHttpClient = Htt ...

  5. CF1471-C. Strange Birthday Party

    CF1471-C. Strange Birthday Party 题意: 你要举办一场生日派对.派对有\(n\)个人,每个人都有一个数字\(k_i\).超市有\(m\)件礼物,购买每件礼物需要花费\( ...

  6. 【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务

    问题描述 创建新的Service Fabric集群,可以通过门户,Powershell命令,或者是ARM模板.但是通过门户和PowerShell命令时,创建的SF集群都会自动新建一个虚拟网络而无法使用 ...

  7. Debian8.1 安装samba与windows共享文件,在系统重启后samba服务无法自动启动

    Debian8.1安装配置完成并成功与window共享文件后,系统重启后再次访问时出现如下问题 (图)的解决方法 手动重启samba sudo /etc/init.d/samba start 从win ...

  8. Java | 在 Java 中执行动态表达式语句: 前中后缀、Ognl、SpEL、Groovy、Jexl3

    在一些规则集或者工作流项目中,经常会遇到动态解析表达式并执行得出结果的功能. 规则引擎是一种嵌入在应用程序中的组件,它可以将业务规则从业务代码中剥离出来,使用预先定义好的语义规范来实现这些剥离出来的业 ...

  9. Code Spell Checker & VSCode 单词拼写验证

    Code Spell Checker & VSCode 单词拼写验证 https://marketplace.visualstudio.com/items?itemName=streetsid ...

  10. git 取消未成功的 merge

    git 取消未成功的 merge # 合并时遇到冲突想取消操作,恢复index $ git merge --abort # 可以回退到某个提交 $ git reset --hard # 可以撤销某个提 ...