Selenium RemoteWebDriver内存问题

时间:2012-10-16 09:55:47

标签: c# .net unit-testing selenium webdriver

我正在运行Selenium Standalone Server,版本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服务器)抓取内存,然后不释放它。

我该如何解决这个问题?任何想法?

1 个答案:

答案 0 :(得分:1)

嗯.... 与我的代码比较:

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();
    }

.....
}

我没有这样的记忆问题。抓住了内存。您能否提供声明和初始化(创建实例)驱动程序的方式?

enter image description here

调查了一点点: HtmlUnit似乎在泄漏内存;这是什么交易? 确保(a)您使用的是最新版本的HtmlUnit (b)在您完成WebClient实例时调用WebClient.closeAllWindows()

取自here