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

Javascript 每次需要从Jmeter生成编码请求,javascript,performance,jmeter,performance-testing,Javascript,Performance,Jmeter,Performance Testing,当我从Jmeter记录时,我在请求中对项进行了编码,如下所示 cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA= parameter_value=123&regular_expression_value=456&is_pop_up=Y& header_type=adv_pop_up 然后我解码发现

当我从Jmeter记录时,我在请求中对项进行了编码,如下所示

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=
parameter_value=123&regular_expression_value=456&is_pop_up=Y&
header_type=adv_pop_up
然后我解码发现如下

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=
parameter_value=123&regular_expression_value=456&is_pop_up=Y&
header_type=adv_pop_up
其中as 123是参数值(即输入值),456是正则表达式值

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

这是编码。即,如果您希望编码并发送以下请求行:

参数\u value=foo&正则表达式\u value=bar&是\u pop\u up=Y&标题\u type=adv\u pop\u

您可以将函数用作

${__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");)}
foo
bar
也可以是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");)}
有关Beanshell的更多信息,请参阅指南

如果这个函数行看起来很吓人,你可以考虑使用。中有2个函数可帮助您进行Base64编码和解码。它们是:

  • base64编码
  • base64解码

有关更多详细信息,请参阅文档

捕获这些值并使用正则表达式提取,然后将其传递给下一个请求问题不是关于提取,如何传递这些值以编码并发送来自Jmeter的请求您应该仔细查看Jmeter采样器选项(您似乎没有)。如果是标准编码,那么Jmeter采样器有复选框(encode checkbox),如果是自定义编码,那么可以使用java代码或beanshell处理器实现。