3

我一直试图在文档中的某个地方找到它,但似乎找不到任何相关的东西 - 任何人都可以分享如何在文件中禁用 Selenium Grid 节点创建的日志phantomjsdriver.log,(或者如果没有,只写在给定级别,例如 ERROR 或 WARN)?

我最近遇到了一个问题,WebDriver 可以通过 Selenium Grid 远程使用 PhantomJS 运行一段时间,但一段时间后似乎有一个错误导致在尝试与驱动程序实例交互时抛出 StackOverflowException - 我想我已经追踪到网格节点运行的 phantomjsdriver.log 文件的大小。当日志文件大小约为 600MB 时会发生这种情况。显然,这会导致我的节点在一段时间后变得无法使用。

现在,我正在通过以下方式创建我的 PhantomJS 远程 WebDriver:

public static IWebDriver CreatePhantomGridDriver(string hubAddress)
{
    if (hubAddress == null)
    {
        throw new ArgumentException(nameof(hubAddress));
    }

    PhantomJSOptions opts = new PhantomJSOptions();
    opts.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36");

    RemoteWebDriver driver = new RemoteWebDriver(new Uri(hubAddress), opts.ToCapabilities());

    driver.Manage().Timeouts().SetPageLoadTimeout(new TimeSpan(0, 1, 0));
    driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0, 1));
    return driver;
}

我为我的网格使用 selenium-server-standalone-2.52.0,它注册了 2 个节点,每个节点公开 8 个 PhantomJS 驱动程序: java -jar selenium-server-standalone-2.52.0.jar -role node -hub http://MySeleniumGridHubServer:4444/grid/register -port 5556 -browser browserName=phantomjs,version=1.9.8.0,platform=ANY,maxInstances=8 -timeout 60 -maxSession 100

如果有某种方法可以在我通过命令行启动节点时禁用 phantomjsdriver.log 文件,那将是理想的!

此外,PhantomJSOptions 和 PhantomJSDriverService 类似乎公开了许多功能,但它们似乎不能一起用于创建驱动程序实例,并且都公开了一组不同的属性!

谢谢

4

0 回答 0