Javascript 处理多个等级库文件

Javascript 处理多个等级库文件,javascript,protractor,Javascript,Protractor,谁能告诉我如何在量角器中处理多个规格文件?我想有一个运行表,其中列出了所有的规格文件名和列与所有他们例外。然后,我可以在我想要执行任何特定规范文件的列中输入“Y”或“N” 我试着像这样在Json文件中加载它 “[{”Spec Files:“spec1.Spec.js”,“Execute:“Y”}, {“Spec Files”:“spec2.js”,“Execute”:“Y”}, {“Spec Files”:“Spec3.js”,“Execute”:“N”}]“ 但我无法加载此JSON文件并在Co

谁能告诉我如何在量角器中处理多个规格文件?我想有一个运行表,其中列出了所有的规格文件名和列与所有他们例外。然后,我可以在我想要执行任何特定规范文件的列中输入“Y”或“N”

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

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


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

导入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) 您可以尝试使用
exclude
config参数忽略某些规范文件,请选中此项:

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


这能帮上忙吗?

嘿,汤姆,我应该在哪里得到这个代码?如果我将Conf.js文件放入并将所有文件都作为N执行,则量角器将抛出一个错误,表示cinfiguration file Conf.js未导出配置对象。这是我的代码
var testdata=require('./RunOrder.json');var jsonlength=testdata.length;对于(var i=0;我使用了下面的代码,它现在仍然在工作,
“var testdata=require('./RunOrder.json');var jsonlength=testdata.length;console.log(jsonlength);//新方法var x=[]for(testdata中的obj){if(testdata[obj].Execute==“Y”){x.push(testdata[obj][Spec Files]);console.log(“Entered loop”)}exports.config={framework:'jasmine2',seleniumAddress:'http://localhost:4444/wd/hub,功能:{'browserName':'chrome'},规格:[x],}
这是我遇到的错误
C:\Users\akuchal\AppData\Roaming\npm\node\u modules\dragrator\node\u modules\q\q.js:155 throw e;^TypeError:glob pattern string required
你能帮忙吗?谢谢。这有帮助,但我想动态控制一些东西。我每个p都有上百个规范文件年龄。如果我这样做,我必须在我的运行顺序表中做很多更改。我希望有一种方法,可以从外部控制我的运行顺序,比如excel或JSON文件,这样我只需将Y放在我想要执行的测试用例前面。