【问题标题】:In Jmeter, What would be syntax of parameters in Body Data section of HTTP Request Sampler, for Rest APIs and input should be generated dynamically在 Jmeter 中,HTTP Request Sampler 的 Body Data 部分中的参数语法是什么,对于 Rest API 和输入应该动态生成
【发布时间】:2017-03-02 07:24:04
【问题描述】:

我正在尝试使用 BSF PreProcessor 通过 JavaScript 生成我的输入。目前我只有 BSF PrepProcessor 和一个 HTTP 请求。我的请求正文是这样的。,

{
    "entity": {
        "id": "${EnitityName}",
        ----
     }
}

随机生成的字符串应该是 ID 的值,我已经参数化了我们通常如何做。这是行不通的。有人可以告诉我哪里出错或任何替代方法。

【问题讨论】:

  • 仅供参考,JMeter 没有将我的脚本结果插入变量 ${EntityName}

标签: jmeter


【解决方案1】:

尝试使用__RandomString函数:(如果你想要一个随机字符串,则不需要JavaScript & BSF PreProcessor

{
    "entity": {
        "id": "${__RandomString(8,abcdefghiz,)}",
        ----
     }
}

来自文档:

例子:

${__RandomString(5)} 将返回一个由 5 个字符组成的随机字符串 是否可读

${__RandomString(10,abcdefg)} 将返回一个 从 abcdefg 集合中挑选的 10 个字符的随机字符串,例如 cdbgdbeebd 或 adbfeggfad,……

${__RandomString(6,a12zeczclk, MYVAR)} 将返回从 a12zeczclk 集中挑选的 6 个字符的随机字符串 并将结果存储在 MYVAR 中,MYVAR 将包含类似 2z22ak 的字符串 或 z11kce,……

【讨论】:

    【解决方案2】:

    鉴于${EnitityName} 变量已在您的 BSF PreProcessor 脚本中正确设置,它应该被生成的值替换假设 BSF PreProcessor 成功

    我建议检查 jmeter.log 文件是否有任何错误 - 它应该让您了解哪里出了问题。您还可以分享您的 BSF PreProcessor 代码,以便其他人和我自己可以查看并提出修复建议。

    其实根据JMeter Best Practices建议使用JSR223 Elements所以你应该切换到JSR223 PreProcessorGroovy language,示例代码生成一个10个字符的随机字母数字字符串并将值放入@987654329 @JMeter 变量将如下所示:

    vars.put("EnitityName",org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(10))
    

    参考资料:

    【讨论】:

    • 感谢 Dmitri .. 您提供的代码有效。这是我的 java 脚本,它实际上不起作用 function generateEntityName() { var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i
    • 我还尝试过您为之前提出的类似问题提供的代码。 int min = Integer.parseInt(bsh.args[0]); // 获取第一个参数 int max = Integer.parseInt(bsh.args[1]); // 获取第二个参数 int random = min + (int) (Math.random() * ((max - min) + 1)); // 计算参数范围内的随机数 vars.put("RANDOM_NUMBER", String.valueOf(random));
    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多