如何使用 Selenium WebDriver 执行负载测试? [关闭]

Posted

技术标签:

【中文标题】如何使用 Selenium WebDriver 执行负载测试? [关闭]【英文标题】:How to perform load testing using Selenium WebDriver? [closed] 【发布时间】:2014-04-07 04:29:34 【问题描述】:

我必须使用 Selenium WebDriver 为 100 个用户执行负载测试应用程序。 100 个用户一次登录并访问服务器。

如何使用 Selenium WebDriver 完成这个过程?

【问题讨论】:

此主题现已关闭。请查看TurboSelenium。使用网格进行负载测试不是一个好主意,但有更新的工具可以完成这项工作。 【参考方案1】:

更新 正如 cmets 中所述,这是一个坏主意。如果您正在考虑使用 Selenium Grid 进行负载测试,重新考虑您的目的并验证 Selenium Grid 是否真的是您唯一的选择。


免费解决方案:

Selenium 提供了一个名为Selenium Grid. 的易于扩展的测试框架,您可以将它与TestNG 结合使用来创建一个可扩展的负载测试框架。

来自链接:

通过在多台机器上分布测试来扩展(并行执行)

从一个中心点管理多个环境,从而轻松针对各种浏览器/操作系统运行测试。

允许您实施自定义挂钩以利用虚拟基础架构,从而最大限度地减少网格的维护时间。

我已经利用 Selenium Grid 对我们的 web 应用程序进行了负载测试,其中包含大约十几个并发浏览器会话(到目前为止)。我使用了几个参考来实现这一点:

http://testng.org/doc/documentation-main.html#parallel-tests http://blog.wedoqa.com/2013/07/how-to-run-parallel-tests-with-selenium-webdriver-and-testng-2/ http://www.mkyong.com/unittest/testng-selenium-load-testing-example/

【讨论】:

这是个坏主意。 Selenium Grid 并行执行旨在通过并行运行功能测试来更快地执行它们。它从来都不是为性能测试而设计的,也不能很好地扩展——这使得它不适合任何除了微不足道的负载之外的负载测试。请参阅 Selenium Grid 常见问题解答中的常规部分:seleniumhq.org/docs/07_selenium_grid.jsp 同意@RaGe Selenium 不适用于负载/性能测试,试试 JMeter 实际上,经过更多研究,Locust 看起来真的很酷,是一种新的现代工具。 locust.io【参考方案2】:

虽然尚不完全清楚您正在寻找哪种类型的性能测试

Selenium Webdriver 主要用于测试前端功能案例,而不是用于通过负载测试启动前端。

所以在我看来,您可能正在寻找其中之一

JMeter

API 或后端的性能测试,例如:Login API 寻找免费工具我建议 Jmeter Hands down:

http://jmeter.apache.org/

JSP 页面性能(白框)

前端页面渲染或响应时间(如 jsp 页面)似乎有很多技术,但大多数都指向这样的白盒测试。

http://www.javaperformancetuning.com/tips/j2ee_srvlt.shtml#REF12

希望对你有帮助。

【讨论】:

以上是关于如何使用 Selenium WebDriver 执行负载测试? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Java 在 selenium webdriver 中打开新选项卡,或者如何使用 selenium webdriver 使用动作类在 selenium 中按 ctrl + T [重复]

如何使用selenium webdriver来判断一个网页加载完毕

Selenium & webdriver.io 如何使用 executeScript?

如何使用selenium webdriver来判断一个网页加载完毕

如何使用 C# 在 Selenium WebDriver (Selenium 2) 中最大化浏览器窗口?

如何在 ruby​​ 中使用 Selenium WebDriver (selenium 2.0) 客户端设置选项