题
似乎有一种很大的压力/装载的测试工具,支持阿贾克斯。
我想知道如何做这些工具实施。
他们只记录http请求和重放它?
这是正确的方法来测试阿贾克斯程序?
Google怎么测试他们的ajax应用程序?
解决方案
如果你担心的功能而已,像华廷,的的Watir ,硒或任何功能工具对于这个问题是可行的。只要你把你的功能测试足够时间允许AJAX回调那么应该做的伎俩。
要添加到我的响应,
如果你正在谈论的单元测试你的JavaScript作为由同胞LosTechian 在此发布所描述的,你可以使用类似qunit >。这是用于集成JS单元测试一个相当本发明的用途的NUnit的插件和qunit的。
这是纯粹的巧合,那张贴qunit测试的博客文章是同一个人只是一个昨天发布了关于的这个题目
其他提示
大多数负载测试工具,在那里做AJAX负载测试相同的方式:它们执行,它是在一个“记录”相看出(其可以是页面请求,图像的请求,或甚至AJAX请求)的原始HTTP流量。它们之间的主要区别是他们的录音机/ IDE工具是如何好,以及它如何助您轻松参数的HTTP请求,使得它们反映了基于动态/实时结果实际流量。
警告,公然插头:唯一真正的例外,这是我的公司, BrowserMob 。相反,模拟交通观察,它实际上使用真正的Web浏览器把车开回负载。因此,AJAX的东西是由浏览器来处理。
有用的链接:从上面的公然插头分开的(虽然我希望你能检查出来 - 我们在前面的定价,并提供免费试用),我最近写了一篇文章,关于才算是Ajax AJAX负载测试。它进入到更详细地了解如何使用真正的浏览器用户的技术影响(RBUS)与虚拟用户(个VU)。
看一看LoadBooster( https://www.loadbooster.com )。它采用无头编写脚本的浏览器PhantomJS / CasperJs测试网站。 Phantomjs将解析和渲染每一个页面,执行的客户端脚本。无头浏览器的做法更容易编写测试场景,以支持复杂的重AJAX的Web 2.0应用程序,浏览器导航,点击鼠标和键盘到浏览器中,或者等到DOM中存在的元素。 LoadBooster支持硒HTML脚本太
声明:我LoadBooster工作。
谷歌应用程序都写在GWT,其中带有自己的扩展JUnit的。 条与GWT 单元测试Ajax应用程序。
如果你不想要建立自己的加载服务器的检测,有几个免费的在线负载检测服务可以运行负载检验直接通过互联网。例如 http://loadimpact.com 或 http://loadstorm.com
我已经使用虚拟用户生成,这是从HP LoadRunner的软件的一部分,来测试AJAX应用。该软件具有可用于记录Web应用程序的多个应用协议,如AJAX,并点击和脚本。
有关的大部分web应用负载的测试它足以记录和重放的http请求。这会给的服务器如何处理负荷的结果。如果你的Web应用程序做了很多的异步加载和渲染在客户端,例如解析XML或JSON,或许多修改DOM的大的数据集,也可以是相关的以包括浏览器层,以测量最终用户体验。
我用 SilkPerformer 在以前的工作。根据链接,他们有一些AJAX增强。不幸的是,蚕丝是远离自由。
查核的Jiffy 。这是一个终端到终端的测量套件,以及随后的各种复杂。然而,统计数据是相当可观的。
围困?它可以做HTTP测试,并通过任何你想要的。
您还可以看看 fwptt 它是开源的。如果你是一个.NET开发人员,你可以使用的参数自动处理和可能性来使用自己的.NET对象做了测试。
我已经成功地使用的JMeter加载测试我们的Ajax(JSF / RichFaces的)应用程序。我没有JMeter的录音工具麻烦 - 而我使用的是HttpFox插件的Firefox来监视浏览器是什么POST-ING服务器和我的JMeter重新创建此
这确实有点复杂,但负载测试是现在相当强劲。 JMeter的有各类有用的“元件”以从网页中提取的ID的,执行条件逻辑,递增计数器等
好写孤立的试验方法或API为负荷测试的ajax应用程序。有一些原因:
- 这不是那么容易编写功能测试以阿贾克斯的应用,例如用于应用程序.
- 你可以使用 创建属WebDriver插件, 但每个运行,它开始浏览器,这将使用最多的CPU。
- 你将载后不前,这样就可以避免ajax。
您可以两部分的测试样:Ajax应用程序使用硒或PhantomJS/CasperJS.对负荷的测试利用创建属,加特林通过API不是通过阿贾克斯。
我的选择是萤火虫(浏览器插件)。其非常轻便,易于操作