asp.net - 自动化 Web 应用程序前端性能测试的替代方案

标签 asp.net testing selenium performance-testing qa

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我正在寻找一种方法来定期测试我的 Web 应用程序的前端性能。

具体来说,我对解析主机名、从服务器获取响应、下载/渲染/执行资源等所需的时间感兴趣。我还想在与应用程序交互时测量这些事情,而不仅仅是在加载页。

我可以在手动与我的 Web 应用程序交互时使用 Firebug 或 Chrome 开发者工具,但我希望这个前端性能测试成为我持续集成过程的一部分。我想有每晚的前端性能测试结果,这样就可以很容易地捕捉到性能回归。这就是为什么我的初步结论之一是我想利用我现有的功能 Selenium/WebDriver 测试套件(或测试套件的子集)。

所以假设我使用 Selenium 与我的 Web 应用程序交互,我真正需要的是一个工具来测量浏览器中的前端性能。

到目前为止,我已经研究了三个选项:

1) browsermob-proxy

browsermob-proxy 是一个开源代理,它使用 HAR 格式捕获性能数据。除了 Java 和 NodeJS 绑定(bind)之外,它还提供 HTTP REST API。因为它是一个分析 HTTP 流量的代理,所以它没有给我任何关于浏览器中发生的事情的信息(例如渲染等),这是我最感兴趣的。

2) WebPagetest

WebPagetest 也是开源软件,可在webpagetest.org 上作为免费云服务使用。设置此服务的私有(private)实例是可能的(并且不太难)。我给它一个 URL,然后我得到该页面加载的性能报告。但是,它不允许我在与应用程序交互时监控应用程序——这很重要——尤其是在客户端发生很多事情的单页 Web 应用程序中——比如我的。

3) Compuware APM AJAX Edition (以前的 DynaTrace AJAX 版)

Compuware APM AJAX 版是免费(免费)专有软件,它使用浏览器插件在浏览时从浏览器中捕获信息,这意味着它可以在 Selenium 测试套件执行期间自动收集数据。

将其自动化并将其执行集成到持续集成过程中非常容易,但是报告还有很多不足之处。测试结果被分组为“ session ”,即从浏览器窗口打开到关闭的时间段。没有随着时间的推移比较测试结果的功能,这使得很难跟踪进度和捕捉回归。

Compuware APM AJAX 版是迄今为止我见过的最好的替代品 - 但肯定有更好的东西 - 对吧?

最佳答案

使用 怎么样? Y慢和/或 谷歌页面速度 Selenium .

  • 创建单独的 Firefox 配置文件 - 一份用于 Google Page Speed,一份用于 YSlow。
  • 在各自的配置文件中安装扩展
  • 在各自的配置文件中为配置文件和 Page Speed 和 YSlow 安装 Firebug(为每个配置文件单独安装和配置扩展)。
  • 使用 Selenium 加载自定义配置文件

  • 阅读更多 herehere

    上面的链接给出了一个想法。
    希望这可以帮助。

    关于asp.net - 自动化 Web 应用程序前端性能测试的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812326/

    相关文章:

    javascript - 尝试使简单模态示例适应 asp.net 数据列表转发器

    java - 接受不受信任的 SSL 证书 FireFox Selenium RemoteWebDriver

    javascript - 如何使用 Selenium Web 驱动程序/Selenium IDE 自动化 jQueryUI selectmenu

    selenium - 在页面上停留 30 分钟,然后执行操作(Webdriver-Java)

    asp.net - Trace.Warn 在 MVC 中不输出跟踪消息

    asp.net - 从GridView获取特定列的总计值

    c# - 关于多语言 URL 重写

    testing - Robot 框架的代码覆盖率,其中应用程序是用 C++ 编写的

    exception - 如何使用 ScalaTest 测试预期异常的其他属性

    c# - 测试 Entity Framework 数据库连接