【问题标题】:Need generate encoded request every time from Jmeter每次都需要从 Jmeter 生成编码请求
【发布时间】:2015-01-16 08:10:37
【问题描述】:

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

cGFyYW1ldGVyX3ZhbHVlPTEyMyZyZWd1bGFyX2V4cHJlc3Npb25fdmFsdWU9NDU2JmlzX3BvcF91cD1ZJmhlYWRlcl90eXBlPWFkdl9wb3BfdXA=

然后我解码发现如下

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

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

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

【问题讨论】:

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

标签: javascript performance jmeter performance-testing


【解决方案1】:

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 PluginsStandard Set 中有两个函数可以帮助你进行 Base64 编码和解码。它们是:

  • base64Encode
  • base64解码

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

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2016-01-17
    • 2014-10-11
    相关资源
    最近更新 更多