性能测试第8课--jmeter函数

函数

函数和方法是同一个东西

  • jmeter中的函数,有两大类

  • 自带函数:jmeter工具自身带有的函数,可以在jmeter任何地方使用

  • 拓展函数:是要应用第三方插件包,带入进来(java测开--jmeter二次开发)

  • jmeter中的函数(jmeter中的函数,不论有多熟练,都建议用函数助手直接生成,不建议手打)

  • 用双下划线开头

  • 大小写敏感

  • 函数可以有参数,也可以没有参数,有参数就有一个小括号

  • ${__base64Encode(,)}:进行base64加密

  • ${__base64Decode(,)}:进行base64解密

  • 性能测试中,与beanshell相关的元件、函数都不建议使用。-----beanshell的性能不是很好

  • 接口测试中无所谓

  • 在函数中我们可以用${__jexl3(,)} 、 ${__groovy(,)} 来替代${__BeanShell(,)}来执行java代码

  • ${__counter(,)}计数器,只能做+1操作

  • ${__CSVRead(,)} 用来读取csv文件的函数,-----建议不要使用,参考:CSVRead的坑

  • ${__digest(MD5,123456,,,CC)} 加密函数,只能做简单的加密

  • ${__iterationNum} 获取迭代次数--这个函数就不带参数

  • ${__threadNum},获取线程号

  • ${__P(,)}获取熟悉函数,是下面这个函数的简写

  • ${__property(,,)} 获取属性函数

  • ${__RandomDate(,,,,)} 随机日期

  • ${__time(,)},获取当前时间戳,且智能获取当前时间

  • ${__timeShift(,,,,)}时间便宜函数,能对时间的加减

  • ${__V(,)} 拼接函数,实现变量拼接

  • 举例:配合 ${__counter(,)}实现动态调用参数:{"name":"${name}","mobile":"${phone}","password":"abc12345","age":"${__V(age_${__counter(,)},)}"}

接口关联(接口依赖)

  • 接口关联:前面接口的出参,作为下一个接口的入参

  • 在jmeter中,如果响应体为json格式,你要提取响应体中的数据,优先选择json提取器,不行的话再采用正则提取器(正则提取器,不管响应体是什么类型,都可以使用,也可以提取响应头中的信息)

  • json提取器

  • 绝对路径取值方式 : $.根节点名称.节点名称 ----举例说明:$.data.token

  • 相对路径取值方式: $..节点名称 -----举例说明: $..token,

  • 类似于python自动化中的jsonpath的用法--jsonpath(response, '$..token')[0]

  • 用一个json提取器,提取多个不同的返回值

  • 提取式之前用封号分割 ----$..token;$..mobile

  • 写多个提取式时,必须填写对应的数量对默认值,且用分号分割

  • 定义的变量名称数量,mathNo数量也要和提取式的数量一致,用;进行分割

  • 正则提取器

  • 左边界(正则表达式)右边界 email":"(\d+)@test. com"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值