1

我的测试计划中有 3 个线程组。这些线程组必须具有固定的请求权重(例如 1st-50%、2nd-40%、3rd-10%)。如果我需要模拟恒定数量的用户,如果我将循环计数设置为数字(1、10、100 等),@ PMD UBIK-INGENIERIE给出的这篇文章中的解决方案效果很好。但问题是当我为循环计数设置“永远”复选框时,组之间的比例被打破了。

现在我需要增加用户数量,节省我的 3 个组之间的请求比例,以执行容量评估。所有 3 组必须以 50-40-10 的恒定比例均匀发送请求。

如果我使用步进线程组,我可以平均增加每个用户的用户数,但我无法为他们设置请求的比例。

你能告诉我任何想法,如何做到这一点?


UPD1。

我的设置截图: 在此处输入图像描述

在此处输入图像描述

怎么了?


UPD2。最后一个变体(我为每个组手动输入了数字)是(线程组 1 - 50%):

在此处输入图像描述

4

1 回答 1

1

这个想法与PMD UBIK-INGENIERI 的回答相同。

  1. 在用户定义变量或测试计划变量中设置 USERS 变量(或者您可以通过命令行传递它)。
    同时设置变量:

    PERCENT1 to 0.5
    PERCENT2 to 0.4
    PERCENT3 to 0.1
    
  2. 添加 3 个步进线程组:

“此组将开始”设置为

${__BeanShell(Math.round(${PERCENT1}*${USERS})}
${__BeanShell(Math.round(${PERCENT2}*${USERS})}
${__BeanShell(Math.round(${PERCENT3}*${USERS})}

“然后开始”设置为:

${__BeanShell(Math.round(${PERCENT1}*${USERS}/10)}
${__BeanShell(Math.round(${PERCENT2}*${USERS}/10)}
${__BeanShell(Math.round(${PERCENT3}*${USERS}/10)}

如果 USERS 变量的值可以除以 100,它将起作用

于 2012-12-26T11:24:55.993 回答