有时我们对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})})})}
但这仍然会产生错误。
任何可以帮助我的人?谢谢!
答案 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,否则您将永远不会看到最后一位客户。
演示:
有关上述和其他功能的全面信息,请参阅How to Use JMeter Functions帖子系列。
答案 1 :(得分:0)
在Thread元素下,输入一个Random变量
在http默认值中使用带有_v函数的新变量 $ {__ V($ {ChosenCustomer})}
备注:我的http默认元素中首先有一个javascript函数,但同一个线程中的每个页面请求都有一个其他路径。使用每个线程的随机变量选项,这不再是一个问题。