我正在使用Visual Studio 2010来记录一些Web测试。我打算使用这些Web测试构建一些负载测试。我所定位的网站的大多数页面都有很多其他资源,如js,css文件和图像。当实际用户浏览网站时,首次下载这些资源,然后由浏览器缓存。下载这些资源的GET请求在DependentRequests
WebTestRequest
捕获
我想在我的负载测试中模拟这个。当同一虚拟用户向服务器发送第二个请求时,不应将DependentRequests
发送到服务器。通过将WebTestRequest.ProcessDepedentRequest
设置为False
,我们可以关闭将DependentRequests
发送到服务器。但即使对于我不想要的第一个请求,这也会将其关闭。
有没有办法实现这个目标?
进一步思考,当我有一个步骤类型的负载混合时,我从10个虚拟用户开始,每隔2分钟后,我再添加10个虚拟用户。现在2分钟后,我将有20个虚拟用户。此时,所有20个虚拟用户是否被视为新用户第一次访问我的网站,或者其中10个(从第一个时间段开始)第二次访问我的网站并且第一次访问我的网站时仍有10个用户?
答案 0 :(得分:2)
Visual Studio加载测试已经自动模拟浏览器缓存行为:仅为虚拟用户提取一次相关请求。
关于虚拟用户:在“LoadTest运行设置”中,有一个名为“新用户百分比”的设置。如果将其设置为0,则每个新的测试迭代都将由新的虚拟用户运行,因此他们的模拟缓存将始终为空。
如果设置为100,则每个新的测试迭代将尽可能重用现有的虚拟用户,因此仅在虚拟用户的第一次测试迭代时,模拟的缓存将为空,然后对于剩余的测试迭代,模拟缓存将阻止重新获取相关请求。
答案 1 :(得分:1)
“关于虚拟用户:在LoadTest运行设置中,有一个名为”新用户百分比“的设置。如果设置为0,则每个新的测试迭代都将由新的虚拟用户运行,因此他们的模拟缓存总是空着。“
这实际上是另一种方式。如果将“新用户百分比”指定为100,则表示每个新迭代都将由新用户运行。