1

Protractor (および webdriver) を起動するように gulp を構成しようとしていますが、「[launcher] Error: ReferenceError: System is not defined」というメッセージが表示されます。以前、システムを認識するようにカルマを設定しましたが、分度器で同じことを行う方法がわかりません。

ここに私のprotractor.conf.jsがあります

exports.config = {
  framework: 'jasmine',
  specs: ['./dist/**/*e2e.js'],
//    seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
   seleniumServerJar: './node_modules/selenium-standalone-jar/bin/selenium-server-standalone-2.45.0.jar'
//   seleniumServerJar: './node_modules/selenium/selenium-standalone-jar/bin/selenium-server-standalone-2.48.2.jar'
}

私のgulpタスク(gulpfile.js):

gulp.task('e2e', function(callback) {
    gulp
        .src(['./dist/**/*e2e.js'])
        .pipe(angularProtractor({
            'configFile': 'protractor.conf.js',
            'debug': true,
            'autoStartStopServer': true
        }))
        .on('error', function(e) {
            console.log(e);
        })
        .on('end', callback);
});

および分度器関連 (package.json)

"gulp-protractor": "^2.1.0",
"protractor": "2.5.1",
"selenium-standalone-jar": "2.45.0",

どんな提案でも大歓迎です!

4

1 に答える 1

2

それで、しばらくして、問題が何であるかを理解しました:

タイプスクリプトを使用していたので、いくつかのライブラリをインポートしました。

import {
    it,
    describe,
    expect
} from 'angular2/testing';

ts トランスパイラーは、システムを追加して (意図したとおりに) コードをコンパイルします。...そして分度器は「システム」が何であるかを知りません。

*** テスト用のコードを書くのは Jasmine です (angular ではありません)!

于 2016-04-22T20:09:57.967 に答える