似乎有很多支持AJAX的压力/负载测试工具。
我想知道这些工具实施得如何。用于Ajax负载测试的工具
他们只记录http请求并重播它吗?
这是测试AJAX应用程序的正确方法吗?
谷歌如何测试他们的ajax应用程序?
似乎有很多支持AJAX的压力/负载测试工具。
我想知道这些工具实施得如何。用于Ajax负载测试的工具
他们只记录http请求并重播它吗?
这是测试AJAX应用程序的正确方法吗?
谷歌如何测试他们的ajax应用程序?
如果您只是担心功能,像Watin,Watir,Selenium或任何功能工具就可以工作。只要你在你的功能测试中提供足够的时间来允许ajax回调,那么这应该能够做到。
要添加到我的反应,
如果你正在谈论的单元测试你作为一个老乡描述,你可以使用JavaScript类似qunit LosTechian in this posting。这是一个非常有创意的用于集成js单元测试的nunit插件和qunit。
纯属巧合,那张贴qunit测试的博客文章是同一个人只是一个昨天发布了关于this very topic
谷歌应用程序都写在GWT,其中带有自己的扩展JUnit的。 Article on unit testing ajax applications with GWT。
我在之前的工作中使用过SilkPerformer。根据链接,他们有一些AJAX增强。不幸的是,Silk离自由很远。
如果您不想设置您自己的负载测试服务器,有几个免费的在线负载测试服务可以直接通过Internet运行负载测试。例如http://loadimpact.com或http://loadstorm.com
检出Jiffy。这是一个端到端的测量套件,因此非常复杂。但是,统计数据相当令人印象深刻。
Siege?它可以进行HTTP测试并通过任何你想要的。
我已经使用Virtual User Generator(它是HP的Loadrunner软件的一部分)来测试AJAX应用程序。该软件具有多种可用于记录网络应用的应用协议,例如, AJAX,Click和Script。
对于测试来说是足够的记录和重放的http请求多数Web应用程序的负载。这将给出服务器如何处理负载的结果。如果您的Web应用程序执行大量异步加载并在客户端进行渲染,例如解析xml或json的大型数据集或许多DOM修改,可能需要包含浏览器层来衡量最终用户体验。
大部分的负载测试工具,在那里做AJAX负载测试相同的方式:他们执行过程中“记录”阶段所看到的原始HTTP流量(可以是页面请求,图像的要求,甚至AJAX请求) 。它们之间的主要区别是它们的记录器/ IDE工具的性能如何,以及它如何帮助您将HTTP请求参数化,以便它们能够根据动态/实时结果反映真实世界的流量。
警告,公然插头:唯一的例外是我的公司,BrowserMob。它不是模拟观察到的流量,而是实际使用真实的Web浏览器来驱动回填。因此,AJAX的东西由浏览器处理。
有用的链接:从上面的公然插头分开的(虽然我也希望你能查出来 - 我们在前面的定价,并提供免费试用),我最近写了一篇文章,关于才算是Ajax AJAX load testing。它详细介绍了使用真实浏览器用户(RBU)与虚拟用户(VU)的技术含义。
你也可以看看fwptt它是开源的。如果您是.net开发人员,则可以使用参数自动处理以及使用自己的.net对象进行测试的可能性。
我已经成功地使用JMeter的负载测试我们的Ajax(JSF/RichFaces的)应用程序。我并没有打扰JMeter的录音工具 - 而是使用Firefox的HttpFox插件来监视浏览器在服务器上发布的内容,并在JMeter中重新创建了这个插件。
它确实有点复杂,但负载测试现在相当健壮。 JMeter的有各类有用的“元件”的从网页中提取的ID,执行条件逻辑,递增计数器等
更好写入分离的测试方法或API负载测试Ajax应用程序。原因如下:
您可以像这样设计测试:对于Ajax应用程序,请使用Selenium或PhantomJS/CasperJS。对于负载测试,使用JMeter,通过API的Gatling不通过Ajax。
看看LoadBooster(https://www.loadbooster.com)。它利用无头脚本浏览器PhantomJS/CasperJs来测试网站。 Phantomjs将解析并呈现每一页,执行客户端脚本。无头浏览器方法更容易编写测试场景,以支持复杂的AJAX沉重的Web 2.0应用,浏览器导航,鼠标点击和击键到浏览器或等到DOM中存在元素。 LoadBooster也支持硒HTML脚本。
声明:我为LoadBooster工作。
我的选择是萤火虫(浏览器插件)。其非常轻巧易于操作
这不是负载测试。负载测试测试在给定负载下应用程序的性能,例如, “它与100个并发用户的表现有多好”。 – MorganTiley 2012-10-17 16:01:10