2014-10-29 74 views
0

我有我的JMeter设置测试计划如下的JMeter - 循环次数不工作

Home HHTp Sampler 

While loop 
    Sampler for homepage/url 
    csv file (2 urls) 

的主页运行后,我有URL的csv文件(截至目前2),我期待被拉出来运行下一组页面。我已将循环计数设置为2,用户数量= 5并且斜坡正常运行时间= 20。但是我看到每个用户只执行一次执行。它没有第二次回环。我如何让它循环两次?

我的CSV文件设置与配置

recycle on EOF: False 
stop thread on EOF: true 
sharing mode: current thread 
+0

您是否获得了5个样本,每个用户一个,或者两个样本,每个URL一个? – CharlieS 2014-10-29 23:26:32

回答

1

设置recycle on EOF为true,你想让它循环周围

设置stop thread on EOF为false,你想让它循环周围

的CSV数据源在每次访问变量时都会给出一个新值。如果您希望第一个循环为所有用户使用相同的数据,则需要将CSV配置中使用的变量复制到另一个变量以供其他样本使用,因此每个循环只能访问一次CSV变量。

在在循环的开始BeanShell的样本:

vars.put("USETHISVAR", vars.get("URLFROMCSV")); 

然后使用该网址中的每个样品中,引用$ {USETHISVAR}

这将意味着每个用户使用相同的URL 。该URL在每个循环中更新。

+0

是否应该有另一个CSV配置元素?我没有明白。如果只有3个用户的主页和循环计数2,我会得到6个HTTP请求。如果我的csv文件只说1个URL,那么我希望每个用户有1个主页+ 1个CSV网址请求2次(总共6个请求)。但我只有3个用户的3个请求。循环不会发生。 – user3920295 2014-10-30 15:12:56

+0

你期望的不是它是如何工作的。你基本上想要为每个用户使用相同的URL,然后在下一个循环中使用下一个URL,但是没有设置。每次使用CSV变量时,都会使用该变量,并且下一个请求将获得下一个URL。所以你需要在每个循环中消耗一次。您可以使用beanshell取样器将变量复制到2nd,然后参考每个循环样本中的2nd。 – CharlieS 2014-10-30 22:51:45

+0

我已编辑答案,尝试解释更好。 – CharlieS 2014-10-30 22:56:20