【问题标题】:can I pass parameter from a function in onprepare to overwrite protractor config file我可以从 onprepare 中的函数传递参数以覆盖量角器配置文件吗
【发布时间】:2019-03-26 00:54:40
【问题描述】:

我正在尝试在 onprepare 状态下调用一个函数(promise),该函数将返回一个包含所有需要运行的测试的 specs 数组;我需要将其传递给配置文件中的规范

var Excel_Input = require('./Utility/Excel_Input.js');
var HtmlReporter = require('protractor-beautiful-reporter');
var specArray=[''];
exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  specs:specArray,
  allScriptsTimeout: 400000,
  getPageTimeout: 400000,
  jasmineNodeOpts: {
      defaultTimeoutInterval: 400000,
  },

      params: {
      },

  onPrepare: async function() {
      var excelData = new Excel_Input();
     await excelData.readFromExcel('dir','sheetName').then(function (result) { 
             specArray.push(result[0].specPath);
             console.log("spec Array: "+specArray); 
        });
       browser.manage().deleteAllCookies();
        jasmine.getEnv().addReporter(new HtmlReporter({
           baseDirectory: './../XO_Protractor_SOM/Reports/screenshots'
        }).getJasmine2Reporter());
     }
};

控制台打印:

spec Array: ,Progression/sampleTest.js

但它不会覆盖配置文件中的实际规格

【问题讨论】:

    标签: javascript angularjs testing jasmine protractor


    【解决方案1】:

    将读取的 excel 代码块从 onPrepare() 移动到文件头。

    var Excel_Input = require('./Utility/Excel_Input.js');
    var HtmlReporter = require('protractor-beautiful-reporter');
    
    var excelData = new Excel_Input();
    var execSpecs= await excelData.readFromExcel('dir','sheetName');
    
    var specArray=[''];
    specArray.push(execSpecs[0].specPath);
    console.log("spec Array: "+specArray); 
    
    exports.config = {
      seleniumAddress: 'http://localhost:4444/wd/hub',
      specs:specArray,
      allScriptsTimeout: 400000,
      getPageTimeout: 400000,
      jasmineNodeOpts: {
          defaultTimeoutInterval: 400000,
      },
    
      params: {
      },
    
      onPrepare: function() {    
        browser.manage().deleteAllCookies();
        jasmine.getEnv().addReporter(new HtmlReporter({
           baseDirectory: './../XO_Protractor_SOM/Reports/screenshots'
        }).getJasmine2Reporter());
      }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多