Подтвердить что ты не робот

Chromedriver на Travis-CI

У меня возникли проблемы с получением chromedriver на Travis-CI, работающем для моего проекта knockout-secure-binding. Я пытаюсь использовать WebdriverJS для автоматизации тестирования с Chrome, по крайней мере.

Я отметил, что, похоже, некоторые проблемы с хромированным ребером на Travis-CI, включая:

Проблема, по-видимому, представляет собой вариант "хром, недоступный", и из того, что я могу его собрать, требуется Google для исправления этого вопроса.

Подробности ошибки: доступный через журнал сборки Travis.

Обходной путь невозможен, хотя один комментарий упоминается с помощью --no-sandbox, но неясно, где и как его можно использовать в WebdriverJS.

Любые мысли об этом будут искренне оценены.

- Изменить -

В качестве интереса я использую Sauce Labs вместо Chromedriver.

4b9b3361

Ответ 1

Более простой способ запустить Chrome на Travis CI, просто указать google-chrome в addons/apt/sources и google-chrome-package в addons/apt/packages.

Здесь моя примерная конфигурация для лучшего понимания:

sudo: required
dist: trusty
addons:
  apt:
    sources:
      - google-chrome
    packages:
      - google-chrome-stable

language: node_js
node_js:
  - "6"
cache:
  directories: node_modules
branches:
  only: master

before_script:
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
  - npm i -g [email protected]^3
  - sleep 3

Ответ 2

Я думаю, что Travis поддерживает драйвер chrome, если вы добавите его в свой travis.yml, извлеките правый хромированный реверс и разархивируйте его в известное место, чтобы вы могли его проследить позже.

before_script:
  - wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip
  - unzip chromedriver_linux64.zip -d /home/travis/virtualenv/python2.7.9/
  - export CHROME_BIN=chromium-browser
  - "export DISPLAY=:99.0"
  - "sh -e /etc/init.d/xvfb start"
  - sleep 3 

Плюс, когда вы вызываете селен или любую библиотеку автоматизации тестирования, вам нужно добавить этот код здесь в Python, но это можно сделать и в Java и Ruby.

options = webdriver.ChromeOptions()
options.binary_location = '/usr/bin/chromium-browser'
#All the arguments added for chromium to work on selenium
options.add_argument("--no-sandbox") #This make Chromium reachable
options.add_argument("--no-default-browser-check") #Overrides default choices
options.add_argument("--no-first-run")
options.add_argument("--disable-default-apps") 
driver = webdriver.Chrome('/home/travis/virtualenv/python2.7.9   /chromedriver',chrome_options=options)