web-dev-qa-db-ja.com

「キャプチャされたブラウザがありません」というメッセージが原因で、Karmaがユニットテストを実行していません

Jasmineを使用してAngularJSユニットテストを実行するようにKarmaを設定しようとしていますが、テストを実行できません。単純なものを見落としているに違いない。私はこれをWindows 7マシンでNode.jsがインストールされ、npmを介してkarmaがインストールされます。

私のディレクトリ構造は次のようになります。

  • js/app /-コントローラー、アプリなどが含まれています
  • js/config /-karma.conf.jsが含まれています
  • js/lib /-角度を含む
  • js/test /-ジャスミンの仕様が含まれています

jsディレクトリでコマンドプロンプトを起動し、このコマンドを実行しています。

karma start config/karma.conf.js

これにより、Chromeがポート9876で実行されますが、監視対象ファイルを変更してKarma出力を確認するたびに、次の情報メッセージが表示されます。

No captured browser, open http://localhost:9876/

ここに私の設定ファイルがあります:

module.exports = function(config) {
  config.set({
    basePath: '../',
    frameworks: ['jasmine'],
    files: [
      'lib/angular.js',
      'app/**/*.js',
      'test/**/*.js'
    ],
    exclude: [
    ],
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['Chrome'],
    captureTimeout: 60000,
    singleRun: false
  });
};

私はAngular 1.2.10およびKarma 0.10.9を使用しています

39
levelnis

ただし、別のセットアップ(Linux、QUnit、Firefox)で同じ問題が発生しました。すべてのカルマプロセスを終了し、新しいkarma start

10
user1460043

フェイスパームモーメント がありました。 karma startは、karma.conf.jsファイルと同じディレクトリで実行する必要があります。

8
Aligned

このエラーは、ブラウザがサーバーを見つけられないことを意味します。記載されているURLでサーバーにアクセスできるかどうかを確認します。ポート番号が正しく設定されていないか、(私の場合のように)localhostが誤って設定されている可能性があります。サーバーが実行されていないか、他の多くの問題が発生している可能性があります。

サーバーに手動でアクセスできるかどうかを確認します。できない場合は、修正してください。

7
mcv

これは、コード内で無限ループが発生したときに起こりました。私が書いた最近のコードを(ジャスミンのxdescribeを使用して)コメントアウトすると、テストが再び実行されました。

2
yndolok

私は同じ問題を抱えていて、コードを変更せず、1か月前に機能したテストを再実行しました。

webstormから実行したとき、ブラウザをキャプチャするのに長い時間がかかっているように思えたので、タイムアウトになるのではないかと考えました。

そこで、ブラウザをChromeだけに設定してみました(私もphantomjsを使用していました)。その後、ChromePhantomJSにリセットします。これで問題ありません。

1
MarkSh

私は同じ問題を抱えていて、私が見つけた提案された解決策をたくさん試しましたが、最終的にそれを解決したのは、node_modulesフォルダーを削除し、npm installですべてを新しくすることでした。

同じ問題: Karma-Chrome 2回失敗(開始できません)。あきらめます

1
Gerros

同じ問題があり、テストのバグでした。そのコードを削除すると、エラーが修正されました。

0
Laszlo Sarvold

Karma-cli npm install -g karma-cliをインストールすると、この問題は解決しました。お役に立てれば。

0
exp

最近同じエラーが発生しました:

  • angular-cliを使用するプロジェクト、
  • ヘッドレス環境でJenkinsで実行されるテスト。

テストが実行されていたステップで以前にJenkinsのジョブをキャンセルしたため、ng testは終了しませんでした([node] <defunct>プロセスとペアになったngプロセスを実行していましたが、それ以上のテスト実行をブロックします)。解決策は、すべてのハングしているngプロセスを見つけて強制終了することでした:

$ Sudo -su jenkins
# ps aux | grep "ng$" | awk '{print $2}' | xargs kill -9
0
hoefling

私は同じ問題を抱えていて、ここからの全員が何の結果も出さずに言ったことをすべてやりました。私の場合は、initを実行しませんでした。

C:\Users>cd c:\xampp\htdocs\angularjs-pro\ch07

c:\xampp\htdocs\angularjs-pro\ch07>karma init

Which testing framework do you want to use ?
Press tab to list possible options. Enter to move to the next question.
> jasmine

Do you want to use Require.js ?
This will add Require.js plugin.
Press tab to list possible options. Enter to move to the next question.
> no

Do you want to capture any browsers automatically ?
Press tab to list possible options. Enter empty string to move to the next question.
> Chrome

同じ状況に陥ったのは2回目でした。karma start私が置いた場所ではなく、間違ったフォルダーにkarma init

どちらの場合も、私は未亡人コンソールで得た問題を修正した後:

22 11 2016 14:06:51.697:INFO [karma]: Karma v1.3.0 server started at http://localhost:9876/
22 11 2016 14:06:51.698:INFO [launcher]: Launching browser Chrome with unlimited concurrency
22 11 2016 14:06:51.711:INFO [launcher]: Starting browser Chrome
22 11 2016 14:06:53.936:INFO [Chrome 54.0.2840 (Windows 10 0.0.0)]: Connected on socket /#HnJUQrkRPqtGFa5ZAAAA with id 16058274
0
user6385799

私は同じ問題に直面していたので、タスクマネージャーからすべてのchromeインスタンスを殺すことで解決しました。実行中のテストランナーの数は 'n'でした。サーバーを停止せずに、そのインスタンスはまだ生きています。

そこで、「alt + ctrl + delete」を押して、chromeのすべてのセッション/インスタンスを強制終了し、Karmaを再起動します。

できます!

0
Rahul Sharma