Jenkins与PhantomJS

时间:2016-02-29 13:26:09

标签: angularjs jenkins protractor

我创建了一个Jenkins工作,在午夜运行Protractor测试。 对于无头测试,我使用PhantomJS浏览器,因为我无法安装Xvfb(没有权利)。

我通过Grunt任务运行Protractor测试。 在我的本地机器(Windows)上,grunt工作正常,测试通过。

在服务器上,我正在

  

失败:等待页面加载10000毫秒

     

...

     

失败:等待量角器与页面同步时出错:" window.angular未定义。这可能是因为这是一个非角度页面,或者因为您的测试涉及客户端导航,这可能会干扰Protractor的自举。有关详情,请参阅http://git.io/v4gXM"

我的量角器-headless.conf:

exports.config = {
  directConnect: false,
  capabilities: {
    browserName: 'phantomjs',
    'phantomjs.binary.path': require('phantomjs').path,
    'phantomjs.cli.args': []
  },
  seleniumServerJar: require('selenium-server-standalone-jar').path,

  framework: 'jasmine2',
  specs: [
    './e2e/**/**.spec.js'
  ],
  allScriptsTimeout: 30000,
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 200000,
    isVerbose: true//,
    //includeStackTrace : false
  },
  onPrepare: function() {
    'use strict';
    var jasmineReporters = require('jasmine-reporters');

    jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
      consolidateAll: true,
      savePath: 'test-results',
      filePrefix: 'xmloutput'
    }));
  }
};

Grunt Job:

protractor: {
  options: {
    configFile: 'src/test/javascript/protractor.conf.js',
    keepAlive: true,
    noColor: false,
    verbose: true,
    args: {
      // Arguments passed to the command
    }
  },
  headless: {
    options: {
      keepAlive: false,
      configFile: 'src/test/javascript/protractor-headless.conf.js'
    }
  }
}

...

grunt.registerTask('e2e-test-headless', [
  'protractor:headless'
]);

测试可以访问测试环境。 知道可能是什么问题吗?

0 个答案:

没有答案