javascript test 由於“沒有捕獲的瀏覽器”消息,Karma沒有運行單元測試




npm mocha (8)

當我的代碼中有無限循環時,這發生在我身上。 評論(使用茉莉花中的xdescribe )我寫的最新代碼再次運行測試。

我正在嘗試使用Jasmine設置Karma來運行AngularJS單元測試,但我無法運行測試。 我確定我忽視了一些簡單的事情。 我在安裝了Node.js並通過npm安裝karma的Windows 7機器上npm

我的目錄結構如下所示:

  • js / app / - 包含控制器,應用程序等
  • js / config / - 包含karma.conf.js
  • js / lib / - 包含angular
  • 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


我遇到了同樣的問題,我做了所有來自這裡的人都沒有任何結果。 在我的情況下,我沒有做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

我第二次遇到同樣的情況是當我試圖在錯誤的文件夾中karma start ,而不是我把karma init

在我修復了widows控制台中出現的問題之後的兩種情況:

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

安裝karma-cli npm install -g karma-cli為我解決了這個問題。 希望這可以幫助。


我有同樣的問題,沒有代碼更改,只是重新運行一個月前工作的測試。

當我從webstorm運行時,似乎需要很長時間來捕獲瀏覽器,所以我想知道它是否超時。

所以我嘗試將瀏覽器設置為Chrome (我也使用了phantomjs ),然後等待。 然後重置​​回ChromePhantomJS ,現在沒關係。


不過,我在不同的設置(Linux,QUnit,Firefox)中遇到了同樣的問題。 在我殺死所有業力過程並karma start新的karma start之後,問題就消失了。


此錯誤可能意味著瀏覽器無法找到服務器。 檢查您是否可以通過它提到的URL訪問服務器。 它可能是一個配置錯誤的端口號,甚至(就像我的情況一樣), localhost配置錯誤。 我想可能是服務器沒有運行,或者是其他十幾個問題。

檢查您是否可以手動訪問服務器。 如果你不能,那就解決這個問題吧。



最近有同樣的錯誤:

  • 一個使用angular-cli的項目,
  • 在無頭環境中在Jenkins上運行的測試。

事實證明我之前已經在測試運行的步驟中取消了Jenkins的工作,因此ng test沒有退出(有少量運行的ng進程,與[node] <defunct>的進程配對,阻止了進一步的測試執行)。 解決方案是查找並終止所有掛起的進程:

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




karma-runner