【问题标题】:JMeter, encoding all parametersJMeter,编码所有参数
【发布时间】:2017-09-04 15:14:56
【问题描述】:

我正在寻找一些关于 JMeter 编码的建议。我目前正在开发一个使用 https 和 .aspx url 的系统,因此需要对我的发布请求中的所有参数进行编码。就目前而言,我正在从 Fiddler 复制和粘贴 Web 表单以生成我的测试脚本。是否有一种劳动强度较低的方法来编码我的网络表单的所有参数,因为我必须勾选编码每个单独的参数。

【问题讨论】:

    标签: jmeter jmeter-3.2


    【解决方案1】:
    1. 很可能您正在做一些奇怪的事情,因为您使用 JMeter 的HTTP(S) Test Script Recorder 记录您的请求,如果需要,JMeter 应该自行填充请求参数,包括参数值编码。查看JMeter Proxy Step by Step 了解如何记录测试场景的详细信息。
    2. JMeter .jmx 脚本基本上是XML files,所以您应该可以在您喜欢的文本编辑器中打开 JMeter 脚本,找到以下行:

      <boolProp name="HTTPArgument.always_encode">false</boolProp>
      

      替换成

      <boolProp name="HTTPArgument.always_encode">true</boolProp>
      
    3. 您可以使用JSR223 PreProcessor 和以下Groovy 代码将未编码的参数替换为其编码的等效参数:

      org.apache.jmeter.config.Arguments args = sampler.getArguments()
      sampler.getArguments().removeAllArguments()
      args.each {
          sampler.addEncodedArgument(it.getName(), it.getValue())
      }
      

      上面的代码将修改JSR223 PreProcessor's scope 中的所有采样器,并将参数值替换为它们的编码等效项。这种方法可能会占用大量资源,因此请明智地使用它,如果有可能,请考虑第 1 点和/或第 2 点中描述的替代方案。以防万一,请参阅Apache Groovy - Why and How You Should Use It 以熟悉 JMeter 测试中的 Groovy 脚本概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多