上一篇文章【使用Jmeter压测接口 | 简单入门 | 基于5.6.2版本】简单介绍了使用Jmeter的一些使用,这次通过使用Jmeter完成一个有点逻辑的功能接口测试,介绍下Jmeter常用的配置操作。
以一个简略版的扫码绑定设备并登录来举例,大致流程为:(需登录设备)获取二维码信息 →(需登录设备)轮训二维码信息结果(此时未登录) → (已登录的手机端)扫码点击登录 →(需登录设备)获取二维码结果(已登录状态,跳转链接) → (需登录设备)获取TOKEN完成登录 → (需登录设备)获取首页数据展示

📝 Jmeter设置参数

对于一些全局参数,可以放到测试计划中进行设置,这样下面有多个功能测试线程组也能共享参数,减少不必要的重复设置。
比如域名,多个功能测试线程组,都是用一样的域名。
notion image
需要对当前功能测试线程组统一生效的参数,可以在当前【线程组】下添加一个【用户定义的变量】,将变量存放在此。
notion image
比如在这里对于扫码登录的流程有一些特别的信息,比如用户的token,设备秘钥等信息需要多次使用,直接配置在当前功能测试的线程组下会比较方便。
notion image

🤗 配置HTTP Header和域名

notion image
比如一些通用的header:lang,user-agent等
notion image
还可以添加一个http请求默认配置,将一些接下来通用的信息:https,域名,参数等信息设置在此
notion image
在具体的HTTP请求里,就不需要每个都配置域名等信息了,切环境时直接将默认配置里的参数修改下即可,方便很多。
notion image
对于一些不使用默认配置里域名的接口,可以在接口设置里单独设置,兼顾了灵活性。
notion image

使用内置函数实现随机参数和对参数进行SHA256

点击图标打开【函数助手】对话框,或者从【工具】选项选择【函数助手对话框】进入
notion image
有些参数需要动态填充随机数的,可以使用random函数,生成函数字符串后,拷贝到请求的参数值上即可。
notion image
对于需要根据相应参数动态生成SHA-256字段,可以使用内置函数【digest】来实现,参考下图进行设置,变量名为可选设置。对于不变的参数可以使用函数助手生成一次后存储到变量里,对于可变参数,直接拷贝函数字符串到对应变量参数上。
notion image
需要额外提醒的一点:注意变量的作用域。

HTTP响应断言与参数提取

断言也是测试过程中常用的功能
notion image
响应断言可以对HTTP响应的状态码进行判断,常用的就是判断是否等于200正常值
notion image
JSON断言则可以对参数值进行进一步的判断,比如对二维码的扫码状态进行判断,区分二维码的各个阶段状态和预期是否一致。
notion image
 
在当前功能测试场景,从服务器获取到二维码id后,需要提取出来作为后面步骤的参数,这时候就需要使用【JSON提取器】来实现。
notion image
notion image
对于JSON Path的表达式,可以运行一次之后,在【查看结果数】页面,选择【JSON Path Tester】进行路径验证,可以直观的查看到路径解析到的实际数据。
notion image
 
在功能测试中,操作步骤之间可能需要有延时,这时候可以在请求的最后加一个【固定定时器】,来实现。
notion image

IF 控制器

【逻辑控制器】在功能测试中也大有用处
notion image
比如结合【JSON提取器】将二维码状态进行提取,可以实现扫码成功后再执行后续请求。避免在前置条件不成立的情况下继续扫码成功之后的逻辑处理。当然也可以使用一个变量控制部分分支是否执行。
notion image
 

📎 参考文章

 
 
使用Jmeter测试MQTTPixel6安卓14获取ROOT后过safetynet检测
Loading...