【问题标题】:Jmeter: random selection of 5 variablesJmeter:随机选择5个变量
【发布时间】:2016-02-02 00:40:57
【问题描述】:

有时我们对 1 个客户 (www.exameple.com/pizzadelivery) 运行 jmeter 测试,以强调客户数据库。有时我们会对多个客户进行测试,以对服务器施加压力。 (www.exameple.com/pizzadelivery、www.exameple.com/bikeshop、www.exameple.com/bookshop)

我在“线程”元素下使用“http 请求默认值”元素来准备服务器/路径。我想用变量来做这件事,这样每个线程都会采用一些随机路径。在某种程度上,我只需要更改一个中心变量:

NumberOfCustomers = 1 或 NumberOfCustomers = 3 或 ...

我有:

Customer1 = "pizzadelivery", 
Customer2 = "bikeshop", 
Customer3 = "bookshop", 
...

我尝试了路径中的下一件事,但它给出了一个错误 path = ${Customer${__Random(1,${NumberOfCustomers})}}

必须与 ${__V(Customer${__Random(1,${__V(${NumberOfCustomers})})})}

但这仍然会产生错误。

谁能帮帮我?谢谢!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    应该是的

    ${__V(Customer${__Random(1,${NumberOfCustomers},)})}
    

    根据__V() function documentation

    例如,如果有变量 A1、A2 和 N=1:

    ${A1} - 工作正常

    ${A${N}} - 不起作用(嵌套变量引用)

    ${__V(A${N})} - 工作正常。 A${N}变成A1,__V函数返回A1的值

    对于__Random() 函数,请确保您使用NumberOfCustomers + 1,否则您将永远看不到最后一位客户。

    演示:

    请参阅How to Use JMeter Functions 系列帖子,了解有关上述功能和其他功能的全面信息。

    【讨论】:

    • 在我的实现中,我更喜欢我的回答。但总的来说,对于社区来说,这是最好的答案。谢谢!
    【解决方案2】:
    • 在 Thread 元素下,放置一个 Random 变量

    • 在 http 默认值中使用带有 _v 函数的新变量 ${__V(${ChosenCustomer})}

    备注:我首先在我的 http defaults 元素中有一个 javascript 函数,但是同一个线程中的每个页面请求都有一个不同的路径。使用每个线程的随机变量选项,这不再是问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 2021-08-16
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 2017-08-29
      • 2013-05-17
      相关资源
      最近更新 更多