在使用gulp运行套件时无法覆盖Angularjs Protractor中的命令行参数

时间:2017-01-21 09:12:12

标签: angularjs protractor e2e-testing gulp-protractor

我可以在conf文件中设置params。但是当我跑步&尝试在运行时覆盖它不起作用。它使用我在conf文件中提到的用户名登录。

我的配置文件 -

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var log4js = require('log4js');
exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  allScriptsTimeout: 10*60*1000,
  framework: 'jasmine2',

  onPrepare: function () 

    browser.manage().timeouts().implicitlyWait(11000);
    var width = 768;
    var height = 1366;
    browser.driver.manage().window().setSize(768, 1366);
    //browser.ignoreSynchronization = true

    jasmine.getEnv().addReporter(
      new Jasmine2HtmlReporter({
        savePath: __dirname+'/qualityreports/testresults/e2e',
        takeScreenshots: false,
        filePrefix: 'automationReport',
        consolidate: true,
        cleanDestination: false,
        consolidateAll: true

      })
    );
  },

  suites:{
    suiteone:['./test/e2e/login/**/*Spec.js',
      './test/e2e/main/**/mainSpec.js']
  },
  capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
      'args': []
    }
  },

  appenders: [
    {
      "type": "file",
      "filename": "./e2eTestLogs/logfile.log",
      "maxLogSize": 20480,
      "backups": 3,
      "category": "relative-logger"
    }
  ],

  resultJsonOutputFile:'./results.txt',

  params: {
    Login: {
      username: 'xyz',
      password: 'xyz'
    }
  },

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 40*60*1000
  }
};

我使用的命令:

gulp e2e-test --suite suiteone --params.Login.username=abc --params.Login.password=abc

有人可以帮忙吗?我想通过命令行参数来理解我在做错的地方。

2 个答案:

答案 0 :(得分:0)

尝试在引用

中传递值
// Login user.
Auth::login($user);

// Login and remember the given user.
Auth::login($user, true);

答案 1 :(得分:0)

试试这个

--params.Login.username "abc"

在量角器documentation中有描述。