Travis가 Chrome에서 각도 테스트를 실행하도록 하는 방법("env 변수 Chrome_BIN을 설정하십시오")
yoman이 생성한 샘플 Angular 프로젝트를 진행하고 있습니다.
로컬에서 카르마 테스트를 실행할 수 있습니다(시스템 변수 설정).CHROME_BIN
크롬 바이너리를 가리켜야 하는데 좀 더 우아한 방법으로 할 수 있었을 거예요간단한 회피책입니다.)
그러나 travis를 사용하여 빌드를 성공적으로 생성하려고 하면 다음과 같은 오류가 발생합니다.
ERROR [launcher]: Cannot start Chrome
Can not find the binary google-chrome
Please set env variable CHROME_BIN
여기서 설명하는 절차를 따랐습니다(기본적으로generator-travis-ci
)
그 후, 이 에러를 수정하려고 했습니다만, 또 다른 에러가 발생했습니다.
/home/travis/build.sh: line 142: ./.travis/scripts/install_chrome.sh: Permission denied
Yeoman으로 만든 표준 앵글 앱입니다.실제와는 다른데...
정상적으로 설정한 사람이 있습니까?
Software versions I've been using:
user@machine:~/somewhere $ yo -v; grunt --version; bower -v
1.0.4
grunt-cli v0.1.9
grunt v0.4.1
1.2.6
제 Travis 직업: https://travis-ci.org/vucalur/editor-yeoman-test
Travis-CI VM에 프리 인스톨 되어 있는 Cromium Version을 사용해 가동시키려면 , 다음의 솔루션을 사용해 주세요.https://github.com/karma-runner/karma/issues/1144#issuecomment-53633076
.syslog.yml
node_js:
- "0.10"
script: node_modules/karma/bin/karma start test/karma.conf.js --single-run
before_install:
- export CHROME_BIN=chromium-browser
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
카르마.conf.displays
module.exports = function(config) {
var configuration = {
/* ... */
// start these browsers
browsers: ['Chrome', 'ChromeCanary'],
customLaunchers: {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
/* ... */
};
if(process.env.TRAVIS){
configuration.browsers = ['Chrome_travis_ci'];
}
config.set(configuration);
};
죄송하지만 Firefox(VM에 이미 설치되어 있기 때문에)와 Phantom만 실행할 수 있습니다.JS(휴대성이며 헤드리스이기 때문에)
다음 항목을 에 추가합니다..travis.yml
파일을 Firefox 시작 시:
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
그런 다음 설정에서 Karma 브라우저로 Firefox를 활성화하면 됩니다.
Karma-Runner 프로젝트 호(https://github.com/karma-runner/karma/issues/1144#issuecomment-53633076)를 기반으로 설정해주세요.CHROME_BIN
환경변수.travis.yml
custom Launcher를 카르마 파일 설정으로 설정합니다.
예를 들어, .travis.yml 파일의 내용은 다음과 같습니다.
language: node_js
node_js:
- '0.10'
before_script:
- 'export CHROME_BIN=chromium-browser'
- 'export DISPLAY=:99.0'
- 'sh -e /etc/init.d/xvfb start'
- 'npm install -g bower karma grunt-cli jshint'
- 'npm install'
- 'bower install'
그리고 당신의karma.conf.js
내용:
module.exports = function(config) {
config.set({
// ... your default content
// This is the new content for your travis-ci configuration test
// Custom launcher for Travis-CI
customLaunchers: {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: true
});
if(process.env.TRAVIS){
config.browsers = ['Chrome_travis_ci'];
}
};
옵션 1: APT 애드온
APT Addon을 사용하여 Chrome에서 Travis가 각도 테스트를 실행하도록 할 수 있습니다.google-chrome-stable
패키지화하여 Xvfb를 사용하여 헤드리스로 실행합니다.
# Set language
language: node_js
# Set version of node
node_js:
- node
# Set DISPLAY for Xvfb
env:
- DISPLAY=:99.0
# Use APT Addon to install Chrome
addons:
apt:
sources:
- google-chrome
packages:
- google-chrome-stable
# Start Xvfb so you can run headless Chrome
before_install:
- sh -e /etc/init.d/xvfb start
# Install packages
install:
- npm install
# Run tests in continuous integration mode
script:
- ng test --single-run
옵션 2: Chrome 애드온
또는 가상화 환경이 Linux Trusty 또는 OS X인 경우 Chrome 애드온을 헤드리스 모드로 사용할 수 있습니다.
# Use a trusty version of linux
dist: trusty
# Set language
language: node_js
# Set version of node
node_js:
- node
# Install Chrome addon
addons:
- chrome: stable
# Install packages
install:
- npm install
# Run tests in continuous integration mode with headless chrome
script:
- karma start --single-run --browsers ChromeHeadless
e2e 테스트를 실행하려면 업데이트protractor.conf.js
헤드리스 크롬을 지정합니다.
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: [ '--headless', '--disable-gpu' ]
}
}
언급URL : https://stackoverflow.com/questions/19255976/how-to-make-travis-execute-angular-tests-on-chrome-please-set-env-variable-chr
'sourcetip' 카테고리의 다른 글
ngClass 스타일(대시 입력 키 포함) (0) | 2023.02.13 |
---|---|
운영 데이터베이스에 대한 스키마 업그레이드를 어떻게 관리합니까? (0) | 2023.02.13 |
스프링 부트 액세스 정적 리소스가 없습니다.scr/main/resources (0) | 2023.02.13 |
Wordpress: init 훅이 여러 번 호출되는 이유는 무엇입니까? (0) | 2023.02.13 |
WordPress 추가 사용 안 함WordPress 추가 사용 안 함태그 (0) | 2023.02.13 |