You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

k6测试token生成器时响应体access_token存在性检查报错如何解决

k6 token接口校验报错解决方案

错误原因

报错是因为目标接口返回JSON格式响应时,k6不会将response.body保留为字符串类型,而是会解析为JS对象,对象类型不存在字符串专属的includes()方法,因此触发类型不匹配错误。

最优修复方案

直接解析响应JSON对象判断access_token字段是否存在,这种校验方式比字符串匹配更准确,不会出现字段名误匹配的问题,修正后的校验代码如下:

check(response, {
    "status equals 200": response => response.status === 200,
    "body contains valid access_token": response => {
      // 解析响应为JSON对象,判断字段存在且非空
      const resData = response.json();
      return resData.hasOwnProperty("access_token") && Boolean(resData.access_token);
    },
  });

可选兼容方案

如果你确实需要用字符串匹配的方式做校验,可以先将响应体转换为字符串再调用includes()方法:

check(response, {
    "status equals 200": response => response.status === 200,
    "body contains access_token string": response =>
      JSON.stringify(response.body).includes("access_token"),
  });

注意:该方案仅做字符串匹配,无法判断access_token是否为有效响应字段,存在误判可能,优先推荐第一种方案。


内容的提问来源于stack exchange,提问作者JerryH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:27:04