我正在使用 jmeter 进行性能测试。我使用 Selenium 进行功能测试。我想测试 10 个用户同时访问同一个登录页面。我可以用 jmeter 做到这一点。我想同时打开 10 个浏览器(比如 selenium )并在屏幕上显示,我可以使用 jmeter 做到这一点吗?有没有我可以使用的插件?
6 回答
好奇...您正在测试什么场景需要同时在同一台机器上打开十个浏览器?
Jmeter 无法做到这一点,因为 Jmeter 本身就是模拟浏览器。您可以打开十个 JMeter 实例,但这会给您带来与在单个脚本中拥有十个线程相同的效果。
现在,如果您需要在十台不同的机器上安装十个浏览器,那么 Jmeter 可以使用远程模式来执行此操作。
BadBoy 可能对您有用: http ://www.badboy.com.au/
它是记录您的操作的免费软件,然后您可以将其导出到 jmx 文件以作为测试脚本运行。
您可以将 Selenium 插件与 JMeter 一起使用。这将在您的机器上打开物理浏览器并进行录制(在您定义的计时器处开始和停止)。
请参阅 Blazemeter 的指南,此处:https ://www.blazemeter.com/blog/jmeter-webdriver-sampler
我已经用更高版本的 JMeter 3.0 进行了测试,它运行良好。限制是我必须使用旧版本的 FF。
请注意,建议的内核数量大致要多于负载注入器机器中的浏览器数量。
使用 JMeter,如果您的负载注入器遇到瓶颈,如果您在注入器上运行的浏览器太多,您的响应时间将会激增。确保您记录的时间与您的手动检查相当 - 如果您的计时器放在错误的位置,它也不会准确。
如果您在进行客户端性能测试,我建议您使用其他工具,例如网页测试。带有 selenium 的 JMeter 并不是客户端性能测试的最佳选择。
嗨@123Ex 看看 TurboSelenium https://butlerthing.io/products#demovideo 我们可以在一台机器上运行多个全头浏览器。这个工具虽然不是免费的。
如果要同时打开 10 个浏览器,可以使用 selenium。如果您只是想模拟 10 个用户同时登录,请使用 JMeter(无需浏览器)。
您当然可以使用 Jmeter 的Selenium/WebDriver support
插件在您的系统上打开 N 个浏览器实例。但是,请注意 N 数。太多的实例会冻结您的系统本身。此外,一些支持的驱动程序配置,如jp@gc - Chrome Driver Config
支持无头选项;这可能会在一定程度上帮助您增加 N。但是,过了一点,即使是无头浏览器也无济于事。