量角器如何使用npm属性读取器从属性文件中调用具有多个套件值的键

时间:2017-03-09 11:37:17

标签: javascript node.js properties npm protractor

我有一个要求,我需要在 conf.js 文件之外存储一些数据。

所以我安装了属性 - 阅读器节点模块,但在访问某些键值时遇到了一些问题。 以下是我的属性文件和conf.js文件

config.properties文件

[main]
browserName = chrome
shardTestFiles = true
maxInstances = 4
suites = ../specs/folder1/*.js

conf.js文件

var PropertiesReader = require('properties-reader');
var properties = PropertiesReader('config.properties');
 multiCapabilities: [
        {
            'browserName': properties.get('main.browserName'),
            shardTestFiles: properties.get('main.shardTestFiles'),
            maxInstances: properties.get('main.maxInstances'),
        },
suites: {
         Suite : [properties.get('main.suites')],
        },

使用上述配置我可以执行folder1中的所有规格。 但是当我尝试再添加一个文件夹时,如下所示。

config.properties文件

[main]
browserName = chrome
shardTestFiles = true
maxInstances = 4
suites = ../specs/folder1/*.js,../specs/folder2/*.js

我遇到了错误。

BEFORE LAUNCH
WARNING - pattern ../specs/folder1/*.js,../specs/folder2/*.js did not match any files.

.properties 文件中存储多个文件夹路径的语法是什么,以便我可以在conf.js文件中调用它们

1 个答案:

答案 0 :(得分:1)

这里有一个小技巧。 suites下定义的每个套件都应该是一系列规范路径。

[properties.get('main.suites')] - 这将只返回一个字符串,而不是一个数组

您需要拆分测试路径以形成阵列才能使其正常工作

var PropertiesReader = require('properties-reader');
var properties = PropertiesReader('config.properties');
suites: {
   Suite: properties.get('main.suites').split(","),
   },