Jmeter 在为多个用户运行 Junit 测试 jar 时执行失败



我正在尝试在Jmeter中执行一个Junit Jar。在脚本中,将启动chrome浏览器并显示我的网站的登录屏幕,其中输入用户名和密码并单击登录按钮。因此,当应用 2 个用户负载时,会根据脚本启动 2 个 chrome 浏览器。但是,假设在第二个浏览器中输入的凭据将覆盖第一个浏览器的凭据字段。因此,第二个浏览器的脚本失败,因为登录屏幕中没有输入任何内容。

脚本在 Eclipse 上成功运行。

无头浏览器。我在脚本中添加了无头浏览器代码。现在浏览器没有启动,一切都在后台运行,这应该已经解决了这个问题。但是在放置 2 个用户的负载时,问题仍然存在。

问题很可能出在您的代码上,即根据WebDriver常见问题解答

WebDriver 不是线程安全的。话虽如此,如果可以序列化对基础驱动程序实例的访问,则可以在多个线程中共享引用。这是不可取的。另一方面,您/can/为每个线程实例化一个WebDriver实例。

因此,我建议仔细检查正在使用的Java代码,并确保没有静态函数或字段,并且WebDriver实例已放入ThreadLocal中

。一个更简单的解决方案是使用与JMeter线程模型兼容的WebDriver Sampler,因此应该没有竞争条件。

您可以使用JMeter插件管理器安装WebDriver Sampler

相关内容

最新更新