在wdio.conf onPrepare
中,我将所有功能文件存储在一个数组中。
let listOfFiles = fs.readdirSync(process.cwd() + '/features');
var featureFiles = [];
listOfFiles.map((file) => {
featureFiles.push(file)
});
是否可以在另一个文件中使用featureFiles
数组?
我想在执行期间生成功能文件列表,并将其分配给变量“ featureFiles”(已声明但没有任何开头的值)。 从到目前为止我所看到的,不可能在wdio.conf中执行此操作,因为您总是会在开始时获得为变量声明的值。在我的情况下,这是一个空数组。
答案 0 :(得分:0)
是,在您此处发布的文件中添加
module.exports = featureFiles
在您要使用featureFiles
的另一个文件中,您可以执行类似的操作
const featureFiles = require('path/to/your/first/file`);
答案 1 :(得分:0)
因此,如果您想在整个测试脚本中使用featureFiles
,那么我们遵循的选项之一就是使用全局对象。
在您的wdio.conf文件中,尝试以下操作:
let featureFiles = [];
...
export.config = {
... //some line of code
//OnPrepare hook
onPrepare(){
let listOfFiles = fs.readdirSync(process.cwd() + '/features');
listOfFiles.map((file) => {
featureFiles.push(file);
});
}
//before session hook
beforeSession(){
global.featureFiles = featureFiles; //assigning the value of featureFiles to a global variable
}
}
完成以上操作。变量featureFiles
将在所有测试文件上可用。
注意:vscode intellisense可能无法识别该变量,但您仍然可以使用它。