Protractor shardTestFiles无法使用gulp

Protractor shardTestFiles无法使用gulp,protractor,gulp-protractor,Protractor,Gulp Protractor,我在测试中使用了量角器的吞咽包装器。下面在我的主量角器量角器文件(在multicapabilities下)中指定的ShardTestFiles选项不起作用。我的浏览器仍在运行,因为只有一个实例,我的测试仍在使用相同的时间 我使用的是量角器版本4.0.9。 下面是如何在项目文件夹中设置我的conf文件 var ProtractorConfig = require('../../ProtractorConfig'); exports.config = new ProtractorConfig({

我在测试中使用了量角器的吞咽包装器。下面在我的主量角器量角器文件(在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选项不起作用吗?

你能详细描述一下什么不起作用吗?此外,将您的吞咽配置减少到尽可能小的可重复示例也很有帮助(这里有很多自定义配置,这让人很难理解。@NickTomlin我已经对此进行了详细解释。我还尝试减少gulp文件。我使用了两个dragrator.conf.js文件。一个是在主测试套件级别定义全局设置,另一个是每个项目的内部文件夹。我建议进一步减少到实际需要的位置y有效。试着使用一个非动态量角器文件,然后从那里慢慢构建。你能详细描述一下什么不起作用吗?另外,将你的吞咽配置减少到尽可能小的可复制示例也会有帮助(这里有很多自定义配置,这让人很难理解。@NickTomlin我已经对此进行了详细解释。我还尝试减少gulp文件。我使用了两个dragrator.conf.js文件。一个是在主测试套件级别定义全局设置,另一个是每个项目的内部文件夹。我建议进一步减少到实际需要的位置y工作。尝试使用单个非动态量角器文件,然后从那里慢慢构建。