12

已经提出了一个类似的问题( 对 Web 应用程序执行压力测试?),但我想测试一个 Web 应用程序,它可以防止重复提交并采取一些反 XSRF 操作,因此需要评估 JavaScript。

有没有人对需要(和使用)JS 的 Web 应用程序进行压力测试并分享任何经验?

我猜jMeter不会工作......

谢谢!

4

10 回答 10

3

瓦提尔

Watir 是一个用于自动化 Web 浏览器的简单开源库。Watir 以与人们相同的方式驱动浏览器。它点击链接,填写表格,按下按钮。Watir 还会检查结果,例如页面上是否出现预期的文本。

它驱动 Internet Explorer,但也适用于 Firefox(在某种程度上和 Safari)。

于 2008-10-19T00:44:42.707 回答
3

Watir 和 Selenium RC 或任何其他完整浏览器解决方案的问题在于他们需要完整的浏览器:P

浏览器运行起来非常昂贵,通常需要 300MB 或更多的 RAM。将这些要求乘以 100,您就需要大量硬件。幸运的是,有一个解决方案:我最近创办了一家完全符合您要求的公司。

查看http://browsermob.com,您可以运行一个有限的测试(最多 25 个用户)来体验该应用程序。如果您有任何问题,请随时与我们联系!

于 2009-01-02T15:00:50.920 回答
3

可能值得追求的一种解决方案是在 Amazon EC2 上运行 Selenium 以提供您需要的可扩展性。Selenium有一个使用 Selenium 网格附带的示例的教程。小型机器的 Windows 机器每小时 12.5 美分,这意味着 500 台机器测试的费用为每小时 62.50 美元。

优点:

  • Selenium 在真正的浏览器中运行,这意味着您的 Javascript 正在像在客户端上一样执行
  • 低成本 - 尝试在您自己的硬件上执行此操作会花费更多

缺点:

  • 您必须建立从 Amazon 到您的应用程序的网络连接
于 2009-01-21T03:26:00.590 回答
2

与我一起工作的测试人员使用Bad Boy进行负载测试。我相当肯定你可以测试使用 javascript 的交互,所以你应该能够测试像双重提交这样的东西。

于 2008-10-18T22:47:10.463 回答
2

就您的后端而言,只要请求是有效的,无论是来自 JavaScript 还是负载测试工具触发请求都无关紧要。

你可以创建一堆做很多不同事情的假请求(希望能代表实际的使用模式),然后用负载测试工具猛击你的网络服务器。

那里有一堆:

  • jMeter
  • http_load
  • 磨床
  • httpperf
于 2008-10-18T22:48:05.640 回答
1

因为 JMeter 不是浏览器,所以它不会解释您获取的页面上的 JavaScript 代码:

JMeter 不处理嵌入在 HTML 页面中的 Javascript 或小程序。[JMeter 维基]

所以,你可以做什么?您可以将 WebDriver 添加到 JMeter 测试中,并由此评估网页。

Web Driver Sampler 在浏览器(客户端)上自动执行和收集性能指标。到目前为止,大部分性能测试都在服务器端进行。但是随着技术的进步,HTML5、JS和CSS的改进,越来越多的逻辑和行为被下推到客户端。这增加了网站/webapp 的整体感知性能,但该指标在 JMeter 中不可用。增加整体浏览器执行时间的因素可能包括:

  1. 客户端 Javascript 执行 - 例如。AJAX、JS 模板
  2. CSS 转换 - 例如。3D 矩阵变换、动画
  3. 3rd 方插件 - 例如。Facebook like、双击广告、网站分析等

所有这些都增加了浏览器的整体执行时间,这个项目旨在测量完成渲染所有这些内容所需的时间。

官方指南:https ://jmeter-plugins.org/wiki/WebDriverTutorial/

于 2017-10-25T14:55:24.443 回答
0

我试过 Badboy,没问题。又大又胖又重的工具是 SilkTest。它需要大量的编程才能启动和运行,但你可以完成一些非常可靠的事情!

如果您只需要对来自例如 IIS 日志文件的请求进行压力测试,我有一个自定义构建工具。我很快就会在 CodePlex 上发布它。

于 2008-10-18T22:51:04.027 回答
0

Selenium RC是另一种选择。

于 2008-10-19T01:05:24.537 回答
0

同样相关的,请查看我最近关于 Ajaxian 的文章。我认为它很好地解释了为什么真正的浏览器确实很重要,以及为什么执行 JavaScript 对于负载测试变得越来越重要。

http://ajaxian.com/archives/why-load-testing-ajax-is-hard

于 2009-01-02T15:08:35.867 回答
0

在这个领域有一个新工具叫做 k6

它有一种访问 DOM 的方法,我打算在一个项目中尝试一下。

背景故事:

你可以访问这个这个博客。

也许会有所帮助。

于 2018-02-28T05:40:23.933 回答