VS 2010 Web负载测试 - 从CSV为每个虚拟用户设置唯一值

kum*_*mar 4 load-testing visual-studio-2010

我在CSV中有50个用户名和密码.我想运行一个Web负载测试,其中为多次迭代的负载测试持续时间(1小时)为每个虚拟用户分配一个唯一值.如何在VS 2010 Ultimate版本中完成.

谢谢

age*_*ega 6

创建并添加一个新的WebTestPlugin,在其PreWebTest事件中调用WebTest对象的MoveDataTableCursor()方法,为其提供$ WebTestUserId上下文参数的值(e.WebTest.Context.WebTestUserId).还要确保将数据源设置为" 不要自动移动光标".这具有将虚拟用户锁定到数据表中的行的效果.

CAVEAT:这只有在本地运行或使用ONE Agent运行且LoadTest中只有一个Scenario时才有效,因为WebTestUserId在代理或场景中并不是唯一的(与文档相反).如果您有多代理设置,那么您的插件必须知道如何跨代理分割数据行.在多个场景中完全没有办法解决这个问题 - 你需要一个更聪明的解决方案.

另请注意,WebTestUserId在LoadTest中从0开始,但在独立WebTest中开始为1(谁知道原因?).


Ale*_*sco 6

@agentnega提到的警告让我感到疑惑所以我找到了这个

单机运行测试

  • 顺序 - 这是默认值,告诉Web测试从第一行开始,然后从数据源按顺序获取行.当它到达数据源的末尾时,循环回到开头并重新开始.继续,直到负载测试完成.在负载测试中,为每个Web测试中的每个数据源保留当前行,而不是为每个用户保留当前行.当任何用户使用给定的Web测试启动迭代时,将为它们提供下一行数据,然后将光标提前.

  • 随机 - 这表示随机选择行.继续,直到负载测试完成.

  • 唯一 - 这表示从第一行开始并按顺序获取行.使用每一行后,停止Web测试.如果这是负载测试中唯一的Web测试,则负载测试将停止.

多台机器作为钻机运行

  • 顺序 - 这与您在一台机器上的工作方式相同.每个代理都会收到数据的完整副本,每个代理都从数据源中的第1行开始.然后,每个代理将遍历数据源中的每一行,并继续循环,直到负载测试完成.

  • 随机 - 这与在一台机器上运行测试的效果相同.每个代理都将收到数据源的完整副本并随机选择行.

  • 独特 - 这个有点不同.数据源中的每一行都将使用一次.因此,如果您有3个代理,数据将分布在3个代理上,并且不会多次使用任何行.与一台机器一样,每使用一行,Web测试将停止执行.

来源 http://vsptqrg.codeplex.com/