我在Visual Studio 2015中创建了一个Web性能和负载测试项目。我创建了一个负载测试,在向导中它给出了一个可用于模拟的浏览器列表。它列出的浏览器非常陈旧(Chrome 2,Netscape)。
无论如何要更新列表?
答案 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");
}
}
}
为其他设备设置用户代理字符串应该很容易。