替代自动化的Web应用程序前端性能测试 [英] Alternatives for automated web application front-end performance testing

查看:189
本文介绍了替代自动化的Web应用程序前端性能测试的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要寻找一种方式来定期测试我的web应用程序的前端性能。

I am looking for a way to regularly test the front-end performance of my web application.

具体来说,我很感兴趣,它需要解析主机名,从服务器获得响应,下载/渲染/执行资源,时间等我也想在的交互与应用程序,不只是当的加载的页面。

Specifically, I'm interested in the time it takes to resolve hostnames, to get responses from the servers, to download/render/execute resources, etc. I also want to measure these things when interacting with the application, not just when loading the page.

我可以使用Firebug或Chrome开发者工具,同时与我的Web应用程序手动交互,但我想这个前端的性能测试是我的持续集成过程的一部分。我想有夜间前端性能测试结果,这样就很容易捕捉性能下降。这就是为什么我的preliminary结论之一是,我想利用我现有的功能硒/ webdriver的测试套件(或测试套件的子集)。

I could use Firebug or Chrome Developer Tools while interacting with my web application manually, but I want this front-end performance testing to be a part of my continuous integration process. I want to have nightly front-end performance test results, so that it becomes easy to catch performance regressions. That is why one of my preliminary conclusions is that I want to leverage my existing functional Selenium/WebDriver test suite (or a subset of the test suite).

因此​​,假如我用硒与我的Web应用程序进行交互,我真正需要的是的测量工具的浏览器前端的性能。

So assuming I'm using Selenium to interact with my web application, what I really need is a tool to measure the front-end performance in the browser.

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

So far I've looked at three options:

browsermob代理是捕获使用HAR格式的性能数据的开源代理。它提供了除Java和绑定的NodeJS一个HTTP REST API。因为它可以分析HTTP流量的代理,它并没有给我什么是发生在浏览器(例如渲染等),这是我最感兴趣的任何信息。

browsermob-proxy is an open source proxy that captures performance data using the HAR format. It provides an HTTP REST API in addition to Java and NodeJS bindings. Because it's a proxy which analyzes HTTP traffic, it doesn't give me any information about what is happening in the browser (e.g. rendering and so on), which is what I am most interested in.

WebPagetest也是开源软件,并能提供在webpagetest.org免费的云服务。这是可以的(不要太用力)设立此项服务的私有实例。我给它一个网址,我得到了网页的加载的业绩报告。但是,它不允许我监视,而我与它交互应用程序 - 这是至关重要的 - 特别是在很多东西上的客户端正在进行的单个页面的Web应用程序 - 像我

WebPagetest is also open source software, and available as a free cloud service at webpagetest.org. It is possible (and not too hard) to set up a private instance of this service. I give it a URL and I get a performance report of the loading of that page. However, it doesn't allow me to monitor the application while I am interacting with it - which is vital - especially in a single page web application with a lot of stuff going on on the client-side - like mine.

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

Compuware APM AJAX Edition is free (as in gratis) proprietary software that uses browser plugins to capture information from the browser while browsing, meaning it can automatically gather data during a Selenium test suite execution.

这是pretty易于实现自动化,并它的执行纳入持续集成的过程,但报告仍有待改进了很多。试验结果被分组为这是从浏览器窗口的期间被打开,直到它被关闭会话。有比较在一段时间的测试结果没有的功能,这使得它很难跟踪进度和捕捉回归。

It's pretty easy to automate it and integrate the execution of it into a continuous integration process, but the reporting leaves a lot to be desired. Test results are grouped into "sessions" which is the period from the browser window is opened until it is closed. There is no functionality for comparing test results over time, which makes it hard to track progress and catch regressions.

Compuware的APM AJAX版是迄今为止我见过的最好的选择 - 但必须有更好的东西在那里? - 右键

Compuware APM AJAX Edition is the best alternative I've seen so far - but there has to be something better out there - right?

推荐答案

如何使用 YSlow的和/或谷歌网页速度


  1. 创建单独的Firefox配置 - 一个用于谷歌网页速度,一个用于YSlow的

  2. 在相应的配置文件安装扩展

  3. 为两个配置文件和网页加载速度和YSlow的在各自的配置文件(扩展安装并分别为每个配置文件中配置)。安装萤火虫

  4. 使用Selenium加载自定义配置文件

这里更多和的这里

上述链接给一个想法。
希望这有助于。

Above links give an idea. Hope this helps.

这篇关于替代自动化的Web应用程序前端性能测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆