2017-07-11 4 views
2

Ich möchte Selen und Headless Chrom in meinem Docker Container zu Testzwecken laufen lassen.Docker/Selen/Headless Chrome: SUID Sandbox richtig konfigurieren

Ich habe versucht, Selen in Headless-Chrom (außerhalb meines Docker-Container) mit dem folgenden in meiner .js-Datei auszuführen. Das hat funktioniert:

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

Aber ich kann das nicht in meinem Docker Container arbeiten. In meinem Docker Container verwende ich "VON Selen/Standalone-Chrome". Mit meiner Dockerdatei scheint es kein Problem zu geben. Das Problem tritt auf, wenn ich versuche, meine Selen-Tests durchzuführen. Ich habe den Binärpfad in meiner .js-Datei in/opt/google/chrome/google-chrome geändert. Aber die Tests schlagen fehl und der Client kann nicht einmal initiiert werden.

Also versuchte ich nur laufen/opt/google/chrom/google-chrome, um, wenn Chrom Werke zu sehen, aber dann bekomme ich diesen Fehler:

[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  

Ich bin ziemlich neu in diesem (und Stapelüberlauf), also könnte es einige grundlegende Dinge geben, die ich verpasst habe.

Antwort

1

Try --no-sandbox

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

aufzunehmen Als ich docker-selenium tue

Verwandte Themen