C# .NET库以运行web的性能测试
我已经用SeleniumWebDriver在C#上编写了测试。 现在我需要测试应用程序的性能。 我使用了FiddlerCore,但它没有页面呈现时间或动态内容时间(ajax、js等) 有谁知道像FiddlerCore这样的库,但有更多的功能,比如dynatrace Ajax edition或browsermob proxy for C#C# .NET库以运行web的性能测试,c#,.net,fiddler,load-testing,performance-testing,C#,.net,Fiddler,Load Testing,Performance Testing,我已经用SeleniumWebDriver在C#上编写了测试。 现在我需要测试应用程序的性能。 我使用了FiddlerCore,但它没有页面呈现时间或动态内容时间(ajax、js等) 有谁知道像FiddlerCore这样的库,但有更多的功能,比如dynatrace Ajax edition或browsermob proxy for C# 编辑1:我不需要任何解决方案。我只想使用WebDriver进行测试。当我计划对Ajax进行Web性能测试时,我更喜欢使用C#代码从服务器端生成请求和解析响应 通
编辑1:我不需要任何解决方案。我只想使用WebDriver进行测试。当我计划对Ajax进行Web性能测试时,我更喜欢使用C#代码从服务器端生成请求和解析响应 通常,性能的挑战是测试数据设计、处理多线程模拟客户端和分析不同的问题情况 通常,我的几乎所有Ajax程序都使用JSON与ASP.NET MVC/WCF服务进行通信。我可以轻松构建JSon模拟客户端。客户端是多线程程序,配置不同数量的线程来调用Ajax服务。比起读写JSon,我更喜欢使用JSon.NET。JSon.NET是.NET的一个流行JSon框架,位于 在性能测试程序中,可以使用Log2NET记录每个操作成本。您可以分析日志文件以获取所需信息
对不起,我说的是英语。如果您有Microsoft Visual Studio 2010 Ultimate,您可以使用内置在产品中的web性能测试。VisualStudio2008还有一个测试版,用于进行web性能测试。测试结果可以存储在SQL Server数据库中,您可以控制希望趋势化的指标。Visual Studio中有一些内置工具来测试应用程序的性能,但它们不是很好。如果你真的对你的应用很认真,你必须使用一些第三方的专业工具 我创建了性能测试使用BrowserMob,如下所示
-下载最新BrowserMob:
-从
获取AutomatedTester.BrowserMob -获取硒
-运行以下代码:
// Supply the path to the Browsermob Proxy batch file
Server server =
new Server(
@"path\to\browsermob-proxy.bat");
server.Start();
Client client = server.CreateProxy();
client.RemapHost("host", "ip address");
client.NewHar("google");
var seleniumProxy = new Proxy { HttpProxy = client.SeleniumProxy };
var profile = new FirefoxProfile();
profile.SetProxyPreferences(seleniumProxy);
// Navigate to the page to retrieve performance stats for
var driver = new FirefoxDriver(profile);
driver.Navigate().GoToUrl("http://google.com.vn");
// Get the performance stats
HarResult harData = client.GetHar();
AutomatedTester.BrowserMob.HAR.Log log = harData.Log;
AutomatedTester.BrowserMob.HAR.Entry[] entries = log.Entries;
foreach (var entry in entries)
{
AutomatedTester.BrowserMob.HAR.Request request = entry.Request;
var url = request.Url;
var time = entry.Time;
Console.WriteLine("Url: " + url + " - Time: " + time);
}
driver.Quit();
client.Close();
server.Stop();
仅供参考,2008年的网络性能测试与2010年相同,但2010年的功能更多。这是最好的答案。