我正试图设计一个策略来测试我们的web应用程序。JUnit/JCrawler和较小程度的Selenium Grid可以用于我们的HTTP请求加载/压力测试。
我还没有找到任何能够处理AJAX调用本质的软件。web应用程序是一个记录管理系统,在页面上执行任何CRUD操作时,AJAX调用就会发挥作用。我们需要测试一些用户的加载/压力--保存记录、删除记录等等。
我看过JMeter、Gatling、JCrawler、磨床、FWPTT和Selenium,它们都不能执行AJAX功能。是否有能够对AJAX调用进行加载/压力测试的工具?虽然商业解决方案是一种选择,但开放源码更可取。
发布于 2013-02-27 15:18:09
我同意sqeemih的观点:负载测试Ajax调用的挑战首先在于发送请求,而且也可能主要是在另外两个方面:
1)管理浏览器与web服务器之间的异步请求。Ajax调用有两个目标:在浏览器决策时执行DOM刷新以实现页面的平滑呈现;并且越来越多地赋予服务器更新浏览器端DOM内容的能力。
在这个技术领域,您可以找到“推送”技术和(长)“池”技术。
2)测量来自服务器的消息到达客户端所需时间的能力,以及到达每个客户端所需的平均时间间隔。Ajax的一个功能目标是确保在给定的时刻,每个人都能有效地看到相同的信息(例如,价格、出价或其他信息)。
这两项增加了Ajax专用函数的压力测试工具的需求。只想说有一个商业工具可以为Ajax (和其他HTTP技术)提供真正的性能测试解决方案。这个工具是Neotys (我为之工作的公司)的NeoLoad。
由于有了能够用分叉和循环对异步调用建模的图形界面,NeoLoad有能力对高级Ajax体系结构进行重点测试。您可以免费使用下载我们的压力测试工具,并自行试用。
发布于 2016-12-29 01:54:13
看看LoadBooster(https://www.loadbooster.com)。它利用无头脚本浏览器PhantomJS/CasperJs来测试网站。Phantomjs将解析和呈现每个页面,执行客户端脚本。无头浏览器方法更容易编写测试场景,以支持复杂的AJAX重型Web 2.0应用程序、浏览器导航、鼠标单击和在浏览器中击键或等待DOM中的元素存在。LoadBooster也支持selenium脚本。
免责声明:我为LoadBooster工作。
发布于 2017-05-12 06:38:08
这取决于应用程序的复杂程度。这并不是说大多数工具都不能记录和播放AJAX请求。目前的挑战是如何正确处理相关问题。这意味着,参数发送的一个请求是基于响应的om数据,甚至是JavaScript过量。参数的变量编号、可变的参数名称,甚至请求的变量数都会使这变得更加复杂。
在像JMeter这样的工具中,您必须手动完成大部分相关操作,这会花费您大量的工作。像NeoLoad这样的工具(对多达50个虚拟用户免费)对自动关联有更多的支持。
使用浏览器驱动协议(只有IE)和带有MicroFocus协议( IE和火狐)的HPE是我所知道的两个工具,它们是使用web应用程序测试AJAX的脚本最简单的两个工具。在大多数其他工具只模拟de网络流量的情况下,这两个工具模拟实际的浏览器交互。因为他们的工作方式,你将不会有更多的负荷发生器的能力,而这些工具并不便宜。但是,在其他工具中编写脚本所需的额外时间可以使它比使用该工具更便宜。
https://sqa.stackexchange.com/questions/5634
复制相似问题