Selenium webdriver Jmeter网络驱动采样器

Selenium webdriver Jmeter网络驱动采样器,selenium-webdriver,jmeter,performance-testing,jmeter-plugins,Selenium Webdriver,Jmeter,Performance Testing,Jmeter Plugins,Jmeter有一个webdriver采样器。我们必须写剧本。我们使用基于硒的工具opkey编写脚本。我们能把两者结合起来吗。这样我们就不必用jmeter编写脚本了 不熟悉opkey,但对于任何负载测试,除了非常琐碎的负载外,Selenium都不是一个好主意: Selenium从未打算用于大规模性能测试。Selenium及其更新的avatar webdriver为每个用户启动一个浏览器引擎,然后重播其中的所有用户交互。这对于功能测试来说是非常好的,因为您正在一个真正的浏览器引擎中执行客户端代码,但

Jmeter有一个webdriver采样器。我们必须写剧本。我们使用基于硒的工具opkey编写脚本。我们能把两者结合起来吗。这样我们就不必用jmeter编写脚本了

不熟悉opkey,但对于任何负载测试,除了非常琐碎的负载外,Selenium都不是一个好主意:

Selenium从未打算用于大规模性能测试。Selenium及其更新的avatar webdriver为每个用户启动一个浏览器引擎,然后重播其中的所有用户交互。这对于功能测试来说是非常好的,因为您正在一个真正的浏览器引擎中执行客户端代码,但同时这对于性能测试来说是一个非常坏的消息。浏览器实例是资源密集型的,扩展变得困难且昂贵

即使使用Selenium Grid之类的工具,也确实是为了通过并行运行来缩短测试执行时间,但并不是为了生成任何类型的负载。他们是在最高层这样说的

这不仅仅是规模问题,当负载驱动程序本身非常占用资源时,应用的负载就会变得不一致。如果您看到性能下降,很可能是负载驱动程序是瓶颈,而不是测试中的应用程序

话虽如此,您完全可以使用JMeter采样器、Se网格或其他工具来驱动性能测试,只要您的并行用户规模为10秒。再次引用网格常见问题:

例如,要模拟200个并发用户,您需要200个并发浏览器以及基于Selenium网格的负载测试框架。即使你在Linux上使用Firefox(这是最有效的设置),你也可能需要至少10台机器来产生这种负载。当JMeter/Grinder/httperf可以用一台机器产生同样的负载时,这简直是疯了

请注意,当他们说JMeter时,他们指的是HTTP采样器或更简单、更高效的采样器之一,因为即使是

JMeter允许创建多个线程,每个线程负责在服务器上创建负载。但是,对于Web驱动程序用例,读者应该谨慎地选择创建的线程数量,因为每个线程都有一个与之关联的浏览器实例。每个浏览器都会消耗大量的资源,并且应该限制读者应该创建多少个浏览器

然后继续使用最多(小于1的处理器核)——对于大多数非弹性设置来说,这是非常小的数目。

请考虑使用未来测试相关的问题。