【问题标题】:Function __base64Encode not works with Random Variable函数 __base64Encode 不适用于随机变量
【发布时间】:2017-10-19 05:48:23
【问题描述】:

使用__base64Encode函数编码随机变量的问题。 我使用 随机变量 为用户生成唯一的电子邮件。 (在测试场景的每次迭代中)

我想使用: ${__base64Encode(${randomvar})} 生成编码的 ${randomvar}

下面定义的真实示例用户定义变量“babretr”: babretr=${__base64Encode(${randomMail}${timeStamp}@jmeter.soi:Kazek2017@)}

base64 encode 看起来:

babretr=JHtyYW5kb21NYWlsfTIwMTcwNTE5MDg0MTI0NDcyWkBqbWV0ZXIuc29pOkthemVrMjAxN0A=

base64 解码后看起来:

${randomMail}20170519084124472Z@jmeter.soi:Kazek2017@

Jmeter 随机变量 ${randomMail} 未编码。 不存在不同变量的问题。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    您可以在您的采样器上添加 Beanshell PreProcessor 并添加如下内容:

    import java.util.Base64;    
    import org.apache.commons.lang3.RandomStringUtils;
    
    String sufix = "@jmeter.soi:Kazek2017@";
    String address = Base64.getEncoder().encodeToString(new String(
                    RandomStringUtils.random(10) + vars.get("timeStamp") + sufix).getBytes());
    
    vars.put("encodedAddress", address);
    

    之后,只需在您的采样器中使用${encodedAddress}。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 2013-12-06
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多