访问当前夹具的名称并在运行时进行测试

Joe*_* M. 5 testing automated-tests web-testing e2e-testing testcafe

用于如下用途

test(testName, async (t) => {
  const ua = await getUA()

  await t.takeScreenshot(
    fixtureName +
      "/" +
      testName +
      "/" +
      identifyUserAgent(ua) +
      "/" +
      "scsh_1.png",
  )
...
Run Code Online (Sandbox Code Playgroud)

从 testcafe@0.21.1 开始,我的解决方法是

const fixtureName = "Index_Page_Test"

fixture(fixtureName).page(...)

...

const testName = "dom_has_critical_elements"

test(testName, async (t) => {
...
Run Code Online (Sandbox Code Playgroud)

但更愿意在 t 上提供它。我错过了什么吗?

小智 5

根据https://github.com/DevExpress/testcafe/issues/2826,您可以使用

  • t.testRun.test.name 获取当前测试的名称,以及
  • t.testRun.test.testFile.currentFixture.name 获取当前灯具的名称。

自己试过,有效。不过,这似乎是一个未记录的功能。


mlo*_*sev 1

在预设时,t不包含测试和装置名称。为了您的目的(构建takeScreenshot操作路径),您可以使用自定义屏幕截图模式功能。