Jmeter:随机选择5个变量

时间:2016-01-31 12:18:48

标签: jmeter

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

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

NumberOfCustomers = 1或NumberOfCustomers = 3 OR ...

我有:

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

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

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

但这仍然会产生错误。

任何可以帮助我的人?谢谢!

2 个答案:

答案 0 :(得分:3)

需要

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

根据__V() function documentation

  

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

     

$ {A1} - 工作正常

     

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

     

$ {__ V(A $ {N})} - 工作正常。 $ {N}变为A1,__ V函数返回A1

的值

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

演示:

Functions Demo

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

答案 1 :(得分:0)

  • 在Thread元素下,输入一个Random变量 Random Variable

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

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