Javascript 每次需要从Jmeter生成编码请求
当我从Jmeter记录时,我在请求中对项进行了编码,如下所示Javascript 每次需要从Jmeter生成编码请求,javascript,performance,jmeter,performance-testing,Javascript,Performance,Jmeter,Performance Testing,当我从Jmeter记录时,我在请求中对项进行了编码,如下所示 cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA= parameter_value=123®ular_expression_value=456&is_pop_up=Y& header_type=adv_pop_up 然后我解码发现
cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=
parameter_value=123®ular_expression_value=456&is_pop_up=Y&
header_type=adv_pop_up
然后我解码发现如下
cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=
parameter_value=123®ular_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®ular_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}®ular_expression_value=${bar}&is_pop_up=Y&header_type=adv_pop_up");)}
有关Beanshell的更多信息,请参阅指南
如果这个函数行看起来很吓人,你可以考虑使用。中有2个函数可帮助您进行Base64编码和解码。它们是:
- base64编码
- base64解码
有关更多详细信息,请参阅文档 捕获这些值并使用正则表达式提取,然后将其传递给下一个请求问题不是关于提取,如何传递这些值以编码并发送来自Jmeter的请求您应该仔细查看Jmeter采样器选项(您似乎没有)。如果是标准编码,那么Jmeter采样器有复选框(encode checkbox),如果是自定义编码,那么可以使用java代码或beanshell处理器实现。