• Jmeter进阶 Mac版


    一、函数

      做接口性能测试过程中,经常需要用不重复的参数来进行测试,而Jmeter恰巧就提供的随机函数,很好的解决这个难题。

      Jmeter共提供了4种随机数分别为:数字随机数Random、日期随机数RandomDate、字符串随机数RandomString,变量随机数RandomFromMultipleVars,满足我们不同场景下的传参需求。

      这里我们使用字符串随机数RandomString进行场景演示。为了保证数据的多样性,我们需要不同的用户名来进行登录并获取Token。

     接下来就是在HTTP请求中进行修改对应的消息体数据,随机生成用户名的函数为:${__RandomString(11,0123456789,userName)}

    二、提取器

      JSON提取器属于Jmeter 的后置处理器, 所谓后置提取器就是请求结束后, 对响应结果进行变量提取, 提取变量是为了验证变量是否符合预期或者将变量值作为全局变量, 以供其他请求使用。

    比如后续的的业务请求需要将登录请求获取的token作为后续请求的参数,为了整个项目的连贯性,需要用到JSON提取器来提取前一接口的响应数据,然后传递给下一接口。

      

     关于路径表达式标准写法为:$.key,其中 key 为返回结果 map 中的一个键,如果是多层则继续使用 .key 进行即可,如果遇到 key 的 value 值为一个 List ,则使用 .key[n],其中 n 为 List 中元素的编号。

    三、全局变量

      在实际测试时,会涉及一个或多个线程组。而线程之间或接口之间会对某个参数有依赖性,那么我们需要将某个接口中的参数提取出来,供其他线程组或接口调用。这里就需要使用到__setProperty函数:

      声明全局变量:${__setProperty(自定义变量名,${参数名},)}

      引用全局变量:${__property(自定义变量名)}

    接着需要对多个地方进行配置,首先是登录请求中的BeanShell断言需要补充,用来把执行成功后获取到的 token 传给 newtoken ;

    ⚠️注意:引用已定义的变量:${变量名},比如: ${token};如果变量未定义的话,引用变量会直接返回表达式,比如变量 token 未定义,引用变量 ${token},返回值就是:${token}。

      

  • 相关阅读:
    关于js判断鼠标移入元素的方向--解释
    angularJs的学习笔记(一):angularJs的filter是根据value属性值来过滤的
    虚拟机设置网络连接
    [转载]23个经典JDK设计模式
    Ubuntu 17.04 开启 TCP BBR 拥塞控制算法
    解决DIGITALOCEAN后台被墙的两个方法
    远程访问服务器上的MySQL数据库,发现root远程连接不上
    jsp获取properties配置文件中的属性值
    去除底部“自豪地采用 WordPress”版权信息----最后附最新版的删除方法!!
    改91云linux服务器一键测试脚本(去除上传测试文件代码)
  • 原文地址:https://www.cnblogs.com/JackpotHan/p/15817069.html
Copyright © 2020-2023  润新知