C# .NET库以运行web的性能测试

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#代码从服务器端生成请求和解析响应 通

我已经用SeleniumWebDriver在C#上编写了测试。 现在我需要测试应用程序的性能。 我使用了FiddlerCore,但它没有页面呈现时间或动态内容时间(ajax、js等)

有谁知道像FiddlerCore这样的库,但有更多的功能,比如dynatrace Ajax edition或browsermob proxy for 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年的功能更多。这是最好的答案。