如何在Runscope的pre-request script中设置变量,解决变量未定义报错
Runscope pre-request script设置变量未定义问题解决方案
- 确认变量作用域匹配使用场景:
- 若变量仅在当前请求的参数/请求头/请求体中使用:
variables.set()设置的是当前请求专属临时变量,作用域仅限当前请求,需确认脚本绑定在该请求的「Pre-request Script」栏,若脚本绑定在测试集合/文件夹公共脚本栏,需确认目标请求属于对应集合/文件夹范围内。 - 若变量需要在同集合的后续请求中调用:需使用集合级变量存储,替换
variables.set为collectionVariables.set即可,集合变量对整个测试集合的所有请求生效。 - 若变量需要跨测试集合使用:需调用
environment.set将变量写入当前选中的环境变量中,切换到对应环境时变量全局可用。
- 若变量仅在当前请求的参数/请求头/请求体中使用:
- 检查脚本语法正确性:补全语句末尾分号,避免Runscope脚本解析引擎识别异常,修改后脚本参考:
var token = "x"; // 当前请求使用 variables.set("token", token); // 同集合跨请求使用替换为:collectionVariables.set("token", token); // 跨集合使用替换为:environment.set("token", token);
- 检查变量名匹配:请求中引用的
{{token}}需和脚本中设置的变量名完全一致,变量名大小写敏感。 - 排查脚本执行异常:在脚本中添加
console.log(variables.get("token")),发起请求后查看Runscope脚本执行日志,确认set操作正常执行、变量已被正确赋值。
内容的提问来源于stack exchange,提问作者iczcezar
相关产品推荐
相关产品推荐

