1

我试图运行karma测试作为自动化TFS构建的一部分。构建打开浏览器窗口并且无法在构建服务器上无头运行。这种情况下最好的浏览器配置是什么? 谢谢!虚拟机上的Karma测试

中的package.json脚本是在TFS控制台窗口

"headlessTest":"karma start --browsers ChromeHeadless karma.conf.js" 

// Karma configuration file, see link for more information 
 
// https://karma-runner.github.io/0.13/config/configuration-file.html 
 

 
module.exports = function (config) { 
 
    config.set({ 
 
    basePath: '', 
 
    frameworks: ['jasmine', '@angular/cli'], 
 
    plugins: [ 
 
     require('karma-jasmine'), 
 
     require('karma-chrome-launcher'), 
 
     require('karma-jasmine-html-reporter'), 
 
     require('karma-coverage-istanbul-reporter'), 
 
     require('@angular/cli/plugins/karma'), 
 
     require('karma-phantomjs-launcher') 
 
    ], 
 
    client:{ 
 
     clearContext: false // leave Jasmine Spec Runner output visible in browser 
 
    }, 
 
    coverageIstanbulReporter: { 
 
     reports: [ 'html', 'lcovonly' ], 
 
     fixWebpackSourcePaths: true 
 
    }, 
 
    angularCli: { 
 
     environment: 'dev' 
 
    }, 
 
    reporters: ['progress', 'kjhtml'], 
 
    port: 9876, 
 
    colors: true, 
 
    logLevel: config.LOG_INFO, 
 
    autoWatch: true, 
 
    browsers: ['Chrome'], 
 
    singleRun: false 
 
    }); 
 
};

输出建立

[33m01 08 2017 10:03:00.043:WARN [launcher]: [39mChromeHeadless have notcaptured in 60000 ms, killing. [33m01 08 2017 10:03:02.087:WARN [launcher]: [39mChromeHeadless was notkilled in 2000 ms, sending SIGKILL. [33m01 08 2017 10:03:04.208:WARN [launcher]: [39mChromeHeadless was not``killed by SIGKILL in 2000 ms, continuing.

回答

1

你可以尝试用“nosandbox”来发射chrome。

browsers: ['ChromeNoSandbox'], 
    customLaunchers: { 
     ChromeNoSandbox: { 
      base: 'Chrome', 
      flags: ['--no-sandbox'] 
     } 
    } 

参考这个Github的问题:按照你的业障project.conf.js配置

使用https://github.com/karma-runner/karma-chrome-launcher/issues/73#issuecomment-236597429


UPDATE:

没有为噶一个问题:github.com/karma-runner/karma/issues/2652,无论你可以尝试Karma和Chr的不同版本组合有人提到downgrading to karma 1.5工作。

您还可以尝试增加超时值,例如600000,然后再试一次。

+0

好吧,我这样做了,但仍然在tfs控制台上发生超时错误'INFO [karma]:[39mKarma v1.7.0服务器启动于http://0.0.0.0:9877/ [launcher]:[39mLaunching浏览器ChromeNoSandbox具有无限并发性 INFO [启动程序]:[39m启动浏览器Chrome [33m02 08 2017 10:25:31.770:WARN [启动程序]:[39mChrome在60000毫秒内未捕获, WARN [发射器]:[39mChrome在2000毫秒没有被杀害,发送SIGKILL。 :WARN [发射器]:[39mChrome在2000毫秒内没有被SIGKILL杀死,仍在继续.' – Moriarty

+0

@ProfessorMoriarty似乎有一个问题噶https://github.com/karma-runner/karma/issues/2652,无论你可以尝试Karma和Chrome的不同版本组合,有人提到[降级到业力1.5](https://github.com/karma-runner/karma/issues/2652#issuecomment-293236553)工作 –

+0

得到它的工作,谢谢您! – Moriarty