0

我正在尝试从afterTest我的 wdio 配置文件中的挂钩访问每个测试运行的文件名。但是,提供给挂钩的参数都不包括文件名。我尝试从onWorkerStart钩子中获取文件名,因为specs提供给该钩子的参数包括文件名,所以是这样的:

onWorkerStart(cid, caps, specs) {
  const fileName = specs[0];
}

但我不确定如何访问fileName我在onWorkerStart钩子中创建的变量afterTest。我尝试过将其用作全局变量:

onWorkerStart(cid, caps, specs) {
  global.fileName = specs[0];
}
afterTest() {
  console.log(global.fileName);
}

但这只是打印“未定义”。如果我也从onWorkerStart钩子中打印它,它实际上会先从那里打印文件的名称,然后再从afterTest钩子中打印“未定义”。

4

1 回答 1

1

我终于弄明白了。我不知道 wdio 配置中的全局变量必须在before钩子中创建,幸运的是,before钩子包含一个specs包含文件名的参数。因此,在所有其他挂钩中访问文件名所需要做的就是在挂钩global.specFileName = specs[0]内部进行定义before。而现在specFileName可以用在afterTest钩子上了。

于 2020-11-02T15:08:57.343 回答