2017-07-11 5 views
2

テスト用に、ドッキング用のコンテナにセレンとヘッドレスのクロムを使いたいと思います。Docker/Selenium/Headless Chrome:SUIDサンドボックスを正しく設定してください。

私の.jsファイルに次のものが入っているヘッドレスクロム(私のドッカーコンテナの外)でセレンを動こうとしました。これはうまくいきました:

const client = webdriverio.remote({ 
    desiredCapabilities: { 
    browserName: 'chrome', 
    chromeOptions: { 
    args: ['--headless', '--disable-gpu'] 
    }, 
    binary: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' 
    }, 
baseUrl: CONFIG.host, 
logLevel: 'verbose', 
waitForTimeout: 3000 
}) 

しかし、私はこれを私のドッカーコンテナで動作させることはできません。私のドッカーコンテナでは、 "FROM selenium/standalone-chrome"を使用します。ドッカーファイルに問題はないようです。問題は、セレンテストを実行しようとするときに発生します。私の.jsファイルのbinary_pathを/ opt/google/chrome/google-chromeに変更しました。しかし、テストは失敗し、クライアントは開始さえできません。

だから私はちょうど場合クローム作品を見るためには/ opt /グーグル/クロム/グーグル・クロームを実行しようとしたが、その後、私はこのエラーを取得する:

[0711/005304.226472:ERROR:nacl_helper_linux.cc(311)] NaCl helper 
process running without a sandbox! 
Most likely you need to configure your SUID sandbox correctly  

私は(これにはかなり新しいですし、スタックのオーバーフロー)私が逃したいくつかの基本的なことがあるかもしれません。

答えて

1

は私がdocker-selenium

でやってたよう --no-sandbox

chromeOptions: { 
    args: ['--headless', '--disable-gpu', '--no-sandbox'] 
}, 

を含めるようにしてください

関連する問題