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

时间:2015-01-16 08:10:38

标签: javascript performance jmeter performance-testing

当我从Jmeter录制时,我在请求中编码了项目如下

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=

然后我解码发现如下

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

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

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

1 个答案:

答案 0 :(得分:0)

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

  

PARAMETER_VALUE = <强> FOO &安培; regular_expression_value = <强>巴&安培; 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 PluginsStandard Set中有2个功能可以帮助您进行Base64编码和解码。他们是:

  • base64Encode
  • base64Decode

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