37

私は、yeoman によって生成されたサンプル Angular プロジェクトに取り組んでいます。
カルマ テストをローカルで実行できます (システム変数CHROME_BINを chromium バイナリを指すように設定しましたが、これはより洗練された方法で実行できたはずです。簡単な回避策です)。

ただし、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 で作成された標準的な角度付きアプリです。箱から出してすぐに動作するはずですが、現実は異なります...
設定に成功した人はいますか?


私が使用しているソフトウェアのバージョン:

user@machine:~/somewhere $ yo -v; grunt --version; bower -v
1.0.4
grunt-cli v0.1.9
grunt v0.4.1
1.2.6

私のトラビスの仕事: https://travis-ci.org/vucalur/editor-yeoman-test

4

4 に答える 4

30

このソリューションを使用して、Travis-CI VM にプリインストールされた Chromium バージョンを使用して実行します: https://github.com/karma-runner/karma/issues/1144#issuecomment-53633076

.travis.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.js

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);
};
于 2014-09-04T09:15:30.363 に答える
4

オプション 1: APT アドオン

APT アドオンを使用してパッケージをインストールし、google-chrome-stableXvfb を使用してヘッドレスで実行することにより、Chrome で Travis に Angular テストを実行させることができます。

# 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して headless chrome を指定します。

capabilities: {
  browserName: 'chrome',

  chromeOptions: {
     args: [ '--headless', '--disable-gpu' ]
   }
}
于 2017-11-28T19:42:56.930 に答える