Я хочу запустить селен и хром в моем док-контейнере для тестирования.

Я попытался запустить селен в безголовом Chrome (за пределами моего док-контейнера) со следующим в моем файле .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 }) 

Но я не могу заставить это работать в моем док-контейнере. В моем док-контейнере я использую «ОТ селена / автономный хром». Кажется, нет никаких проблем с моим dockerfile. Проблема возникает, когда я пытаюсь запустить свои тесты на селен. Я изменил двоичный_путь в своем файле .js на / opt / google / chrome / google-chrome. Но тесты не пройдены, и клиент даже не может быть инициирован.

Поэтому я попытался просто запустить / opt / google / chrome / google-chrome, чтобы увидеть, работает ли chrome, но затем я получаю эту ошибку:

 [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 

Я довольно новичок в этом (и переполнение стека), поэтому могут быть некоторые основные вещи, которые я пропустил.

Попробуйте включить --no-sandbox

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

Как я делаю в докер-селен