我创建了一个java包装器来提供jmeter。我已经使用selenium实现了java类,它们由包装器调用并执行GUI测试。我激活了无头选项。使用jmeter中的单个用户启动测试都能正常工作。尝试启动两个用户测试失败。你能帮我理解为什么吗?
很可能你错过了一个重要的部分:每个Selenium会话都需要一个单独的URL,而Selenium服务器需要在不同的端口上运行。因此,请务必修改“包装器”以了解多个WebDriver实例,并为每个JMeter线程(虚拟用户)启动单独的Selenium服务器(或独立客户端)实例。
不幸的是,如果没有看到您的代码,我们无法提供帮助,请记住,您的包装需要是thread-safe。还要注意jmeter.log文件 - 通常它应该包含足够的信息以避免测试失败。
附:你知道WebDriver Sampler插件吗?它的设计符合JMeter线程模型,您应该可以启动与您的机器可以处理的浏览器数量相同的浏览器。如果由于某种原因它不符合您的需求,您至少可以查看source code以了解您需要在“包装器”中更改的内容