如何在Selenium负载测试期间设置最大并发用户数?负载测试并行打开的并发用户比我设置的多

如何在Selenium负载测试期间设置最大并发用户数?负载测试并行打开的并发用户比我设置的多,selenium,jmeter,performance-testing,load-testing,jsr223,Selenium,Jmeter,Performance Testing,Load Testing,Jsr223,在为1个、5个或10个左右的并发用户运行负载测试时,测试并行运行的用户要多得多。它在第一个线程完成之前启动新用户,即使“开始线程计数”设置为某个数字。 我可以通过设置适当的延迟来避免它吗?如果是这样,应如何设置延迟? 我还尝试通过在测试结束时在try catch块中调用driver.quit()来解决这个问题,这样线程在执行后会关闭,但看起来它不会关闭线程(在本例中是Chrome浏览器窗口),其中有错误 try{ WebElement myDynamicElement3 = (new WebDr

在为1个、5个或10个左右的并发用户运行负载测试时,测试并行运行的用户要多得多。它在第一个线程完成之前启动新用户,即使“开始线程计数”设置为某个数字。 我可以通过设置适当的延迟来避免它吗?如果是这样,应如何设置延迟? 我还尝试通过在测试结束时在
try catch
块中调用
driver.quit()
来解决这个问题,这样线程在执行后会关闭,但看起来它不会关闭线程(在本例中是Chrome浏览器窗口),其中有错误

try{
WebElement myDynamicElement3 = (new WebDriverWait(driver, 10))
  .until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[text()='hello']")));
}catch(Exception e) {
    throw new AssertionError("Element not found....", e);
}
driver.quit();

请帮助我尝试哪种方法以及如何尝试。

不幸的是,如果不查看您的配置、实例化的方式、线程组迭代之间处理WebDriver实例的方式等,就无法提供答案

同时,我只能建议您考虑使用或至少研究一下它——这样您就应该学会如何正确地实例化和关闭浏览器实例

最后但并非最不重要的一点是,使用真正的浏览器进行负载测试并不是最好的主意,因为现代浏览器非常资源密集型,每个浏览器实例都需要完整的CPU核心和至少1GB的RAM,并且您可以使用采样器模拟至少100个虚拟用户,只需花费一个浏览器实例