每次都需要从 Jmeter 生成编码请求

Need generate encoded request every time from Jmeter

当我从 Jmeter 记录时,我将请求中的项目编码如下

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=

然后我解码发现如下

parameter_value=123&regular_expression_value=456&is_pop_up=Y&
header_type=adv_pop_up

其中123为参数值(即输入值),456为正则表达式值

如何传递这两个值并编码请求并从 jmeter 发送?

Base64编码。 IE。如果您想编码并发送以下请求行:

parameter_value=foo&regular_expression_value=bar&is_pop_up=Y&header_type=adv_pop_up

您可以将 __Beanshell() 函数用作

${__BeanShell(import org.apache.jmeter.protocol.http.util.Base64Encoder; Base64Encoder.encode("parameter_value=foo&regular_expression_value=bar&is_pop_up=Y&header_type=adv_pop_up");)}

foobar也可以是JMeter变量

${__BeanShell(import org.apache.jmeter.protocol.http.util.Base64Encoder; Base64Encoder.encode("parameter_value=${foo}&regular_expression_value=${bar}&is_pop_up=Y&header_type=adv_pop_up");)}

请参阅 How to use BeanShell: JMeter's favorite built-in component 指南以了解有关 Beanshell 强大功能的更多信息。

如果这条函数线看起来很吓人,你可以考虑使用JMeter Plugins. There are 2 functions available in the Standard Set,它可以帮助你进行Base64编码和解码。他们是:

  • base64编码
  • base64解码

有关详细信息,请参阅 JMeter Plugins Custom Functions 文档。