我正在运行一个Selenium独立服务器,版本为2.25.0
我在c#中运行一个程序,通过以下方式执行驱动程序:
DesiredCapabilities capabilities = DesiredCapabilities.HtmlUnit();
capabilities.IsJavaScriptEnabled = false;
IWebDriver driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4444/wd/hub"), capabilities);然后我通过driver.FindElement(By.)收集一些信息。
一切都很好。
在我执行完所有
我把司机辞掉了:
driver.Quit();测试效果很好。但是,当我在执行任务管理器时查看任务管理器时,我可以看到"java.exe“( selenium服务器)抓取内存,然后不释放它。
我该如何解决这个问题?有什么想法吗?
发布于 2012-10-16 12:08:00
嗯..。与我的代码相比:
public class BaseSeleniumTest extends SeleneseTestBase {
static WebDriver driver;
@BeforeClass
public static void firefoxSetUp() throws MalformedURLException {
DesiredCapabilities capability = DesiredCapabilities.firefox();
driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
driver.manage().window().setSize(new Dimension(1920, 1080));
}
@Before
public void homePageRefresh() throws IOException {
driver.get("login.base.url");
}
@AfterClass
public static void closeFirefox(){
driver.quit();
}
.....
}我没有这样的记忆问题。抓取的记忆被释放了。您能提供声明和初始化(创建实例)驱动程序的方式吗?

更详细地研究了一下:HtmlUnit似乎在泄漏内存;什么是解决方案?确保(a)您使用的是最新版本的HtmlUnit,以及(b)在完成WebClient实例时调用WebClient.closeAllWindows()。
取自这里
https://stackoverflow.com/questions/12912011
复制相似问题