jmeter常用的函数

20211025白板

  • 课前内容:

    • 参数:
      • 用户定义变量:它是一个全局变量,在启动运行时,获取一次值,在运行过程中,不会动态获取值。
        • 用户定义变量,在启动时获取一次值,在运行过程中,不会获取值,所以,如果,运行过程中,把用户定义变量的值改变了,但是,运行中,使用的值还是第一次获取值。
      • 用户参数:它是一个局部变量,在启动运行时,获取一次值,在运行过程中,还会动态获取值。
    • 函数
      • 函数: jmeter的封装好的 java方法
        • jmeter自带函数:
          • 函数助手
        • 第三方扩展函数
  • 函数:双下滑线开头、 函数名称严格区分大小写

    1、 ${__counter(,)} 统计函数, 加1计算器, 只能实现 + 1

    • 如果想要自定义递增的步长,使用 " 计数器"元件,可以增加步长

      • 有个最大值: 当运行获取的最大值,超过我们设置的最大值时候,又会从起始值开始
        2、 jmeter进行 + - * / % :可以使用函数:{__jexl3(,)} {__javaScript(,)} ${__groovy(,)}
    • ${__CSVRead(,)}: 进行csv数据文件读取, 不建议使用 它是一个阉割版csv读取功能

    • 时间相关函数:

      • ${__time(,)} 获取当前时间戳
      • ${__timeShift(yyyy-MM-dd,p4d,)} 时间偏移函数
      • ${__dateTimeConvert(,)} 时间格式转换
      • ${__RandomDate(,)} 随机一个日期
    • ${__digest(md5,123456,)} 加密函数。 就对123456进行md5加密

    • ${__eval()}

    • {__groovy(,)} {__jexl3(,)} 我们在使用if条件控制器时,就要使用这两个函数中任意一个

    • 属性相关的函数:

      • ${__setProperty(,)} 设置动态属性函数
      • {__P(,)} {__property(,)} 获取属性
    • ${__RandomString(4,qwertyuiopasdfghjk,)} KaTeX parse error: Expected '}', got 'EOF' at end of input: ...\_RandomString({__Random(1,10,)},qwertyuiopasdfghjklzxcvbnm,)}

    • ${__V(,)} 拼接函数

      • user_1、 user_2、user_3
      • KaTeX parse error: Expected group after '_' at position 6: {user_̲{__counter(,)}} 错的 这种写法不行,因为,变量引用时,变量名称中再使用函数时,没有被运行
      • "mobile":"KaTeX parse error: Expected group after '' at position 12: {\\_V(user_̲{__counter(,)},)}"
        • KaTeX parse error: Expected group after '' at position 12: {\\_V(user_̲{__counter(,)},)}===值
          • 运行V函数,函数的参数:(user_ _ _ c o u n t e r ( , ) , ) 参数 1 : u s e r _ {\_\counter(,)},) 参数1: user\ _counter(,),)参数1:user{__counter(,)} 参数2:
            • 运行参数1:
              • 运行函数 ${__counter(,)} 返回数字
            • user_1 user_2 user_3
          • {user_1} {user_2} ${user_3}
        • 一定要搞明白: 使用的频率非常高
          • 在后置处理器提取多个值,进行关联的时候,会要使用
          • 在jdbc从数据库返回多值时,也会使用
  • 第三方函数:

    • MD5
    • baseencode64
  • 关联:

    • 前面接口的返回信息中,有动态 值,而这个动态值,要用于后续接口的传入参数中,这个时候就要用到关联
      • 返回信息: 我没有说,一定是response-body。 它不一定是response-body
    • 提取注册中的手机号码和gqid
  • 后置处理器:

    • json提取器: 当你的数据为json格式时,优先选择使用json提取器
      • json表达式写法:
        • $.节点名称.二级节点名称 ------绝对路径的写法
          • $.data.lists\*.typeDesc
        • $...节点名称 -----相对路径的提取
      • 一个json提取器写多个json提取式:
        • 多个时,用英文分号,作为分割符
        • 变量名称、取数数字,之间也要式使用分号分割多个
        • 此时,一定要用分号分割对应数据的默认值,默认值可以自己定义
      • json提取式,返回的结果,有多个时, 数字0 代表从多个中任意取1个, 具体取哪一个时候,从1开始
      • 用json提取器定义这个变量名称,是一个局部变量,不能直接跨线程组被引用

{"user":"user1","role":"{\\"js\\":\\"admin\\",\\"msg\\":\\"超管\\"}"}

正则提取器

相关推荐
顽疲9 分钟前
Java vue 养老系统源码详解:月账单 care_month_bill 与 Quartz 扣费 Job 实践
java·开发语言·vue.js·vue养老·springboot养老·java养老
Wang's Blog18 分钟前
Java 项目实战: 交友项目 - 安装开发工具与环境准备
java·开发语言·交友
程序喵大人2 小时前
【C++入门】编译链接模型 - 07 链接器怎样把符号对上号
开发语言·c++·编译器·编译链接·链接器
微三云 - 廖会灵 (私域系统开发)2 小时前
供应链系统实战:多渠道订单聚合与分布式库存一致性方案总结
开发语言·分布式·php
学逆向的3 小时前
C 数据溢出与精度丢失
c语言·开发语言·网络安全
霸道流氓气质3 小时前
AgentFlow 入门与实战:Task-Based 并发、EWMA 动态调度与四道门禁的 Java 生产级编排
java·开发语言
释厄6234 小时前
错误无误公理——错误正确本同源都迭代定律——逆转有价值
android·开发语言·kotlin
2601_962885724 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
临床数据科学和人工智能兴趣组5 小时前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
蜗牛互联网5 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python