我知道标题可能不会给你一个清晰度。让我来解释一下
我在visual studio中有一个测试用例(负载测试)。要求是,它必须根据web.config文件中给出的分配访问不同的URL。
在web.config中我有一组值
<appSettings>
<add key="Allocation1" value="20"/>
<add key="Allocation2" value="80"/>
</appSettings>
在运行测试时,我想要访问第一个网址20%和第二个网址80%。意味着如果第一个网址选择了2次,那么接下来应该选择8次第二个网址。
任何人都可以得到一个线索,这是可以实现的吗?任何线索?
答案 0 :(得分:1)
如果你有大量的迭代,我会根据随机值来实现它。基本上
生成一个随机数,比如0和100:
var rnd = new Random();
var number = rnd.Next(0, 100);
检查数字是否高于或低于第一个阈值
if(number <= allocation1)
[[call URL 1]];
else
[[call URL 2]];
如果您的迭代次数足够大,这将收敛到对URL 2的80/20调用分配。显然,如果您只是使用,比方说,10次迭代,这将不会非常准确。如果迭代次数如此之少,请使用跟踪URL 1和URL 2调用百分比的变量。如果百分比超过20%,则只调用第二个URL,直到百分比再次降至20%以下
var percentage = callsToUrl1 / totalCalls;
if(percentage > 0.2)
[[call URL 2]];
else
[[use the normal random algorithm as above]];
编辑: 超过两个百分比,请使用更多条件
if(number <= allocation1)
[[call URL 1]];
else if(number <= allocation1 + allocation2)
[[call URL 2]];
else
[[call URL 3]];
依旧......