处理多个spec文件

时间:2016-09-02 18:48:57

标签: javascript protractor

任何人都可以请一步如何处理量角器中的多个spec文件?我想要一个运行表,列出所有的spec文件名和一个列Excecute与所有这些。然后,我可以把'' Y'或者' N'在列中我想执行任何特定的spec文件。

我试着像这样在Json文件中加载它。

"[{"Spec Files":"spec1.spec.js","Execute":"Y"}, {"Spec Files":"spec2.js","Execute":"Y"}, {"Spec Files":"Spec3.js","Execute":"N"}]"

但是我无法加载这个JSON文件并在我调用我的spec文件的Config.js中循环。

2 个答案:

答案 0 :(得分:1)

导入json应该像require语句一样简单:

var j = require('path/to/your/file.json');
// Your json will look like :
[
    {"Spec Files":"spec1.spec.js","Execute":"Y"},
    {"Spec Files":"spec2.js","Execute":"Y"},
    {"Spec Files":"Spec3.js","Execute":"N"}
]
// X will be the var you use as your spec files collection:
var x = [];
for (obj in j) {
    if (j[obj].Execute === "Y") {
        x.push(j[obj]["Spec Files"]);
    }
}

// x will look like:
["spec1.spec.js", "spec2.js"]

编辑:

您的conf.js文件应该与以下内容一致:

// Possible other imports
var json_file = require('./RunOrder.json');

var x = [];
for (obj in j) {
    if (j[obj].Execute === "Y") {
        x.push(j[obj]["Spec Files"]);
    }
}

exports.config = {
  framework: 'jasmine2',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  capabilities: { 
    'browserName': 'chrome' 
  },
  specs: x
  // Possible other configuration settings
};

答案 1 :(得分:0)

1)您可以尝试使用exclude配置参数忽略某些规范文件,请检查:https://github.com/angular/protractor/blob/master/docs/referenceConf.js#L115

2)您可以使用命令行参数覆盖要运行的spec文件:--specs relative/path/to/your_spec_file_or_pattern_*.js

这有帮助吗?