有什么方法可以在Visual Studio 2015中更新Web /负载测试项目中的浏览器列表?

时间:2015-12-30 02:15:11

标签: visual-studio visual-studio-2015 load-testing

我在Visual Studio 2015中创建了一个Web性能和负载测试项目。我创建了一个负载测试,在向导中它给出了一个可用于模拟的浏览器列表。它列出的浏览器非常陈旧(Chrome 2,Netscape)。

无论如何要更新列表?

enter image description here

1 个答案:

答案 0 :(得分:2)

浏览器列表取自Visual Studio目录中的文件。对于2013版本,目录如下。类似命名的目录用于其他Visual Studio版本。

c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Templates\LoadTest\Browsers

实际的*.browser文件包含XML,可以使用记事本等进行编辑。如果您知道要模拟的浏览器的特征,那么复制和修改现有文件应该很简单。

我没有看到任何指定*.browser文件详情的网页。他们的部分内容是"用户代理字符串"和网络搜索应该很容易找到许多新浏览器的字符串。

请注意,独立Web测试的运行方式与在负载测试中运行的测试不同。独立Web测试的运行方式与默认浏览器类似。没有找到任何方法来指定该浏览器。真实浏览器的许多特征可能是无关紧要的,但用户代理字符串可能很重要。在通过手机或平板电脑访问网站测试网站时,我编写了以下插件。

[System.ComponentModel.Description(
    "Set the user agent to a fixed value if called from a web test. For a load "
    + "test leave it alone so the value from the browser mix is used.")]
public class SetUserAgent : WebTestPlugin
{
    public override void PreRequest(object sender, PreRequestEventArgs e)
    {
        if (e.WebTest.Context.ContainsKey("$LoadTestUserContext"))
        {
            // Leave the user agent alone, it will be set by the load test's browser mix.
        }
        else
        {
            const string UserAgent = "User-Agent";

            if (e.Request.Headers.Contains(UserAgent))
            {
                e.Request.Headers.Remove(UserAgent);
            }

            // Samsung Galaxy Tab 3 7inch.
            // e.Request.Headers.Add(UserAgent, "Mozilla/5.0 (Linux; U; Android 4.2.2; en-gb; SM-T110 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30");

            // Sony Xeperia S, Ion.  360x640 pixels.
            e.Request.Headers.Add(UserAgent, "Mozilla/5.0 (Linux; U; Android 4.0; en-us; LT28at Build/6.1.C.1.111) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
        }
    }
}

为其他设备设置用户代理字符串应该很容易。