Pha*_*mer 3 webtest load-testing visual-studio-2010
我有一个Visual Studio 2010负载测试,其中包含许多Web性能测试.运行Web性能测试需要您登录到测试的网站.因此,负载测试包含一个初始化步骤 - 一个小的Web性能测试,它执行登录,并使用插件来缓存如此获得的cookie."真正的"Web性能测试 - 实际完成工作的测试也都有一个插件,可以读取缓存的cookie并将其添加到测试中,以便每个测试都能正常运行:
public override void PreWebTest(object sender, PreWebTestEventArgs e)
{
if (CookieCache.Cookies != null) // CookieCache is a static class of mine
e.WebTest.Context.CookieContainer.Add(CookieCache.Cookies);
Run Code Online (Sandbox Code Playgroud)
问题是虽然这一切在我运行负载测试时都能正常工作,但这意味着我无法单独运行任何Web性能测试,因为如果负载测试初始化程序没有运行那么就没有cookie,所以web性能测试将不会登录并将失败.
这种情况有没有推荐的解决方案?换句话说,如果Web性能测试需要登录,是否有任何方法可以让它独立运行并且何时进行负载测试?
单独运行每个Web性能测试的明显方法是让它首先调用登录测试,但我不能这样做,因为这对于负载测试来说是不正确的行为(每个用户只登录一次,在负载测试开始时).
解决方案是将登录测试添加到您的各个Web性能测试中(通过"插入调用Web测试"),但由"上下文参数存在"条件规则进行门控,该规则查找缺少上下文参数$ LoadTestUserContext.仅当Web测试在负载测试中运行时,该参数才存在.
这样,无论是在负载测试内还是外,您都只能获得一次登录.
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |