1

我正在运行 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”(硒服务器)抢占内存然后没有释放它。

我怎么解决这个问题?有任何想法吗?

4

1 回答 1

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

.....
}

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

在此处输入图像描述

再调查一下: HtmlUnit 似乎正在泄漏内存;这是怎么回事? 确保(a) 您使用的是最新版本的 HtmlUnit,并且(b) 您在使用完 WebClient 实例后正在调用WebClient.closeAllWindows()

取自这里

于 2012-10-16T12:08:00.613 回答