Я разрабатываю проект, который требует --disable-web-security
для тестирования.Я использую Karma со следующими настройками:
browsers: [
"ch"
],
customLaunchers: {
"ch": {
"base": "Chrome",
"flags": ["--disable-web-security"]
}
},
и
if (process.env.TRAVIS)
options.customLaunchers.ch.flags.push("--no-sandbox");
Это работает правильно на localhost с Chrome v69.0.3497.100 win7 x64.
Япытаясь запустить тот же код на Travis (путем внесения изменений в GitHub) с помощью следующего yml:
language: node_js
node_js:
- "9"
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 5
Я предполагаю, что мы говорим здесь о двух разных браузерах с одинаковым движком, поскольку Chromium != Chrome
,но я не уверен.В любом случае, я получил сообщение об ошибке, пытаясь построить на Travis:
Blocked a frame with origin "http://localhost:9876" from accessing a cross-origin frame.
Это ясно указывает на то, что веб-безопасность включена.Есть ли способ отключить веб-безопасность на Travis?
Решение:
Использование Trusty с настоящим Chrome решило эту проблему:
language: node_js
node_js:
- "9"
dist: trusty
addons:
chrome: stable
before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 5