shardTestFiles没有使用gulp

时间:2016-10-06 22:18:55

标签: protractor gulp-protractor

我正在使用gulp包装器进行量角器测试。我的主量角器量角器文件(在multicapabilities下)下面指定的ShardTestFiles选项不起作用。我的浏览器仍然只运行一个实例,我的测试仍然花费相同的时间。

我正在使用量角器版本4.0.9。 下面是如何设置项目文件夹中的conf文件。

var ProtractorConfig = require('../../ProtractorConfig');
exports.config = new ProtractorConfig({
  suites: {test: ['./spec/**/censusCat*.spec.js']},
  siteName: '',
  isAngular: true,
  params: require('./params'),
  allScriptsTimeout: 25000,
  jasmineNodeOpts: {
    defaultTimeoutInterval: 500000,
  }
});

这是我的主要量角器文件的设置方式:

'use strict';
require('dotenv').load();
var _                = require('lodash');
var path             = require('path');

function ProtractorConfig(options, isMobile) {
  // Protractor options
  this.seleniumAddress = process.env.SELENIUM_ADDRESS;

    this.multiCapabilities = [{
      browserName: 'chrome',
        maxInstances  : 2,
       shardTestFiles: true,
    }];
  this.framework         = 'jasmine2';
  this.params            = require('./params');
  this.jasmineNodeOpts   = {print: function() {}};
  this.plugins           = [{path: '../../plugins/protractor-extensions/index.js'}];
  this.onPrepare = function() {
    var siteName  = this.siteName || '';
    var isAngular = this.isAngular;
        if (isAngular) {
      browser.ignoreSynchronization = false;
    } else {
      browser.ignoreSynchronization = true;
    }
    browser.resize(1280, 1040);
    // Set up globally available objects
    global._       = _;
    global.params  = browser.params;
    global.EC      = protractor.ExpectedConditions;
    browser.params.baseUrl = '';


  }.bind(this);


  _.merge(this, options);
}
module.exports = ProtractorConfig;

以下是我的gulp文件的结构:

var env = require('envalid');
var gulp = require('gulp');
var path = require('path');
var util = require('gulp-util');
var simpleCommand = require('simple-command');
var binPath = './node_modules/.bin/';
gulp.task('test', function(cb) {
  testSite('sites/' + util.env.site, cb);
});
gulp.task('default', ['test']);

function runModule(name, params, cb) {
      new simpleCommand(path.join(binPath, name), params, process.cwd()).run(cb);
}
function runProtractor(params, cb) {
  runModule('protractor', params, cb);
}
function testSite(site, cb) {
 var params = [
    site + '/protractor.conf.js','--suite=test', '--params.siteName=registry.ngccoin.com'
  ];
  runProtractor(params, function(err) {
    cb();
  });
}

有人可以建议为什么我的shardTestFiles选项不起作用吗?

0 个答案:

没有答案