运行k6脚本时触发SyntaxError:意外Token,预期分号
解决k6脚本中的SyntaxError问题
问题原因
错误提示指向JSON文件的语法,本质是你在k6脚本中处理JSON文件的方式有误,导致k6将JSON文件当作JavaScript模块解析,从而触发语法错误。
解决方案
方案1:简化JSON读取逻辑(推荐)
k6支持直接通过require加载JSON文件,并且会自动将其解析为JavaScript对象,不需要额外的JSON.parse和JSON.stringify操作。修改脚本中的数据集加载代码:
原代码:
const dataset = JSON.parse(JSON.stringify(require("./data.json")));
修改为:
const dataset = require("./data.json");
方案2:使用k6的open API读取文件
如果方案1仍有问题,可以通过k6的文件系统API手动读取并解析JSON:
import http from 'k6/http'; import { check } from 'k6'; import { sleep } from 'k6'; import { open } from 'k6/fs'; // 读取并解析JSON文件 const dataset = JSON.parse(open('./data.json')); export let options = { vus: 10, duration: '1m', }; export default function () { let response = http.get(dataset.base_url); check(response, { 'Status is 200': (r) => r.status === 200 }); sleep(1); }
验证修改
修改后重新运行k6脚本,语法错误应该会消失,脚本会正常发起请求并验证响应状态码。
内容的提问来源于stack exchange,提问作者Akash Srivastava
相关产品推荐
相关产品推荐

