3

ドキュメントのどこかでこれを見つけようとしましたが、関連するものが見つからないようです.Selenium Gridノードによって作成されたログをファイルphantomjsdriver.logで無効にする方法を誰かが共有できますか(そうでない場合は、与えられたレベル、例えば ERROR または WARN)?

最近、Selenium Grid を介してリモートで PhantomJS を使用して WebDriver がしばらく正常に動作するという問題に遭遇しましたが、しばらくすると、ドライバー インスタンスと対話しようとすると 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