我正在使用Selenium,对于短套装运行(比如3小时运行),这些东西都很好。
一旦测试套件超过3小时并运行5小时或7小时,我将从Selenium网格获得No free slot available消息。
见下图
我很确定,我正在关闭驱动程序引用。
driver.Close();
driver.Quit();
driver.Dispose();
这就是我在下面得到的。
这些都是空的浏览器。浏览器已启动,但不会触发URL,而是启动另一个浏览器,这会不断重复。 但我确信我安全地处理驱动程序对象并且没有遗留任何会话(使用C# - driver.quit和driver.dispose
下面是启动Selenium Driver
的代码var capabilities = BuildDesiredCapabilities();
webDriver = new RemoteWebDriver(new Uri(gridHubURL), capabilities,
TimeSpan.FromSeconds(ApplicationConfiguration.RemoteDriverTimeOutValue));
webDriver.Manage().Window.Maximize();
webDriver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(ApplicationConfiguration.TimeOutValue));
webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(ApplicationConfiguration.TimeOutValue));
return webDriver;
我做错了什么。请让我知道,非常感谢你的帮助。
EDIT1:
我在测试结果中得到的日志是
初始化方法OpenQA.Selenium.WebDriverException:OpenQA.Selenium.WebDriverException:对URL http://localhost:4444/wd/hub/session的远程WebDriver服务器的HTTP请求在120秒后超时。 ---> System.Net.WebException:操作已超时。