如何创建递增的随机字符串?

问题描述 投票:0回答:1

我一直在尝试在 JMeter 测试中创建一个步骤来模拟整个测试期间不断增加的字符串。 我已经看到了 randomString 函数,它看起来很完美,但我找不到改变第一个参数的方法。

我的测试中有一个计数器,它从 0 开始,然后在每次迭代时增加 1,所以我的第一个想法是使用类似的东西:

${__RandomString(${counter},abcdefjhijklmnopqrtsuvwxyz1234567890,nameOfOutput)}

enter image description here

但是这在运行时一直失败,告诉我 Counter 是一个字符串。

我还尝试运行更通用的 RandomString :

${__RandomString(${__Random(100,4500,)},abcdefjhijklmnopqrtsuvwxyz1234567890,nameOfOutput)}

工作正常,但我的 JMeter 在执行该步骤时返回 500 错误代码(即使它会提供随机字符串),原因如下:

2024-10-22 16:52:03,247 ERROR o.a.j.p.j.s.JSR223Sampler: Problem in JSR223 script Create Random String, message: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: jv03nn8zfzntdzates8i4w9s160owr2xx4rtor4x3tnec4h8xpidmv4760o84n49x39kuyzy55ybjoe8f6p58b7o9btjp0ocntnr2wshj069qhli3awf96f31b7pjae8jpck1q4o9xqthey5dko38djydh0hdun4y7n4ccblvetzuoo41jw7ssn3jx3sjjk63s2w12b634luln6p8bdu65sjqz48t92j6vytpqjcfblo3avbj0ef9c7ozzva08mia5syjae0tc50oi5p3f1jys for class: Script15
javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: jv03nn8zfzntdzates8i4w9s160owr2xx4rtor4x3tnec4h8xpidmv4760o84n49x39kuyzy55ybjoe8f6p58b7o9btjp0ocntnr2wshj069qhli3awf96f31b7pjae8jpck1q4o9xqthey5dko38djydh0hdun4y7n4ccblvetzuoo41jw7ssn3jx3sjjk63s2w12b634luln6p8bdu65sjqz48t92j6vytpqjcfblo3avbj0ef9c7ozzva08mia5syjae0tc50oi5p3f1jys for class: Script15

我做错了什么?

random jmeter jmeter-5.0
1个回答
0
投票

选项位于:

  1. 用引号将函数引起来。然而,根据JSR223 Sampler文档,它将导致缓存编译值,并且生成的字符串仅在第一次迭代期间是“随机”的

  2. 通过“参数”部分传递它,例如

    enter image description here

  3. 使用 RandomStringUtils 类代替:

    String randomString = org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric(100, 4500)
    

有关 JMeter 中 Groovy 脚本编写的更多信息:Apache Groovy:Groovy 的用途是什么?

© www.soinside.com 2019 - 2024. All rights reserved.