【问题标题】:.NET library to run performance test for web.NET 库运行 Web 性能测试
【发布时间】:2012-01-29 18:21:47
【问题描述】:

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

有人知道像 FiddlerCore 这样的库,但有更多的功能,比如 dynatrace Ajax edition 或 browsermob-proxy for C#?

编辑 1:我不需要任何解决方案。我只想用 WebDriver 进行测试。

【问题讨论】:

    标签: c# .net fiddler load-testing performance-testing


    【解决方案1】:

    我已经创建了使用 BrowserMob 的性能测试,如下所示
    - 下载最新的 BrowserMob:http://bmp.lightbody.net/
    - 从https://github.com/AutomatedTester/AutomatedTester.BrowserMob获取 AutomatedTestter.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();
    

    【讨论】:

    • 这是最好的答案。
    【解决方案2】:

    如果您拥有 Microsoft Visual Studio 2010 Ultimate,则可以使用产品中内置的 Web 性能测试。还有一个测试版的 Visual Studio 2008 可以进行 Web 性能测试。测试结果可以存储在 SQL Server 数据库中,您可以控制您希望趋势的指标。

    【讨论】:

    • 仅供参考,2008 年的网络性能测试与 2010 年相同,但 2010 年的功能更多。
    【解决方案3】:

    当我计划对 Ajax 进行 Web 性能测试时,我更喜欢使用 C# 代码从服务器端生成请求并解析响应。

    通常,性能的挑战是测试数据设计、处理多线程模拟客户端和分析不同的问题情况。

    一般来说,我几乎所有的 Ajax 程序都使用 JSON 与 ASP.NET MVC / WCF 服务进行通信。我可以轻松构建 JSON 模拟客户端。客户端是多线程程序,配置不同数量的线程来调用Ajax服务。我更喜欢使用 JSon.NET 来读写 JSON。 JSon.NET 是一个流行的 .NET JSON 框架,位于Json.CodePlex.com

    在性能测试程序中,可以使用Log2NET来记录每一次的操作成本。您可以根据需要分析日志文件。

    对不起我的英语。

    【讨论】:

      【解决方案4】:

      Visual Studio 中有一些内置工具可以测试应用程序的性能,但它们不是很好。如果您对您的应用程序非常认真,您将不得不使用一些第三方专业工具。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-06
        • 2011-08-16
        • 2011-12-20
        相关资源
        最近更新 更多