Chromedriver на Travis-CI
У меня возникли проблемы с получением chromedriver на Travis-CI, работающем для моего проекта knockout-secure-binding. Я пытаюсь использовать WebdriverJS для автоматизации тестирования с Chrome, по крайней мере.
Я отметил, что, похоже, некоторые проблемы с хромированным ребером на Travis-CI, включая:
Проблема, по-видимому, представляет собой вариант "хром, недоступный", и из того, что я могу его собрать, требуется Google для исправления этого вопроса.
Подробности ошибки: доступный через журнал сборки Travis.
Обходной путь невозможен, хотя один комментарий упоминается с помощью --no-sandbox
, но неясно, где и как его можно использовать в WebdriverJS.
Любые мысли об этом будут искренне оценены.
- Изменить -
В качестве интереса я использую Sauce Labs вместо Chromedriver.
Ответы
Ответ 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)