如何在 JMETER 的 JSON 标头中调用 javascript 变量

我只有 Jmeter 中的“JSR223 后处理器”和下面的脚本


var context_data = {"referralId":${referral_id}};

console.log(context_data);

const secret = CryptoJS.enc.Utf8.parse(JSON.stringify(context_data))

console.log(secret);

const encoded_referral_id = CryptoJS.enc.Base64.stringify(secret);

console.log(encoded_referral_id);

上面的脚本我需要获取“encoded_referral_id”值并且需要传递另一个输入请求标头部分。


有人可以帮助我如何获取“encoded_referral_id”并将其传递给另一个子序列 API 标头。


开心每一天1111
浏览 148回答 2
2回答

梦里花落0921

从 JMeter 3.1 开始,您应该使用 JSR223 测试元素和 Groovy 语言编写脚本,使用 JavaScript 是某种形式的性能反模式,因此请考虑迁移到 Groovy 语言切勿将 JMeter 函数或变量内联到 JSR223 脚本中您的所有代码都是 Base64 编码,因此您可以使用__base64Encode() 函数,这将更加简单快捷使用__groovy() 函数的示例实现: ${__groovy(('{"referralId":' + vars.get('referral_id') + '}').bytes.encodeBase64().toString(),)}使用 __base64Encode() 函数的示例实现: ${__base64Encode({"referralId":${referral_id}},)}演示:

一只斗牛犬

您可以在JSR223 后处理器中创建一个变量,并在包括标头在内的后续组件中读取该变量的值。步骤 1:创建变量 encoded_referral_idvars.put("ENCODED_REFERRAL_ID", encoded_referral_id )第 2 步:读取变量的值${ENCODED_REFERRAL_ID}JMeter Variables API 文档可能有助于了解操作变量的可用方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript