Как я могу получить доступ к имени файла, в котором выполняется тест, из обработчика afterTest в файле конфигурации wdio?

Я пытаюсь получить доступ к имени файла, в котором выполняется каждый тест, из 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);
}

Но это просто выводит "undefined". И если я распечатаю его с onWorkerStart тоже, он фактически сначала выводит имя файла оттуда, а затем "undefined" из afterTest крючок.

1 ответ

Я наконец-то понял. Я не знал, что глобальные переменные в конфигурации wdio должны быть сделаны внутри before крючок, и, к счастью, before хук включает параметр specsкоторый содержит имя файла. Итак, все, что нужно сделать для доступа к имени файла во всех других хуках, - это определить global.specFileName = specs[0] внутри beforeкрючок. И сейчас specFileName может использоваться в afterTest крючок.

Другие вопросы по тегам