TestCafe无法识别$ {TEST}作为视频路径。
我正在尝试为失败的测试实施测试记录,以了解如何重现出现的问题,但是即使类似的路径模式适用于屏幕截图,视频路径也无法识别。
According to the documentation,这应该可以工作,但是会显示以下警告:
Warnings (1):
The "${TEST}" path pattern placeholder cannot be applied to the recorded video.
The placeholder was replaced with an empty string.
我创建了TestRunner.js,如https://devexpress.github.io/testcafe/documentation/using-testcafe/programming-interface/runner.html所示。然后我添加了
if(runnerOptions.takeVideo === true && runInParallel === 1) {
runner.video(reports.videoPath, {
singleFile: true,
failedOnly: true,
pathPattern: store + '-' + env + '/${TEST}/${DATE}_${TIME}/${USERAGENT}'
})
}
return runner
.src(tests)
.browsers(config.browsers)
.screenshots(reports.screenshotPath, runnerOptions.takeScreenshots,
store + '-' + env + '/${TEST}/${DATE}_${TIME}/${RUN_ID}/${USERAGENT}/step-${FILE_INDEX}')
.concurrency(runInParallel)
.run(runnerOptions.run);
正如我所说,屏幕截图可以正常工作,但视频不能正常工作。
答案 0 :(得分:2)
According to this GitHub issue,指定singleFile: true
是原因。将所有失败的测试保存到一个记录中时,路径模式不能使用单个测试或灯具标识符来命名文件。
以下模式占位符解析为带有单个文件的空字符串:
documentation for the path patterns确实提到了单个文件的限制,但仅引用$ {TEST_ID}而不是其他占位符。
答案 1 :(得分:1)
我已经检查了该方案,该方案在Windows 10下没有任何“路径模式”问题:
testcafe chrome test.js --video artifacts/videos --video-options pathPattern=${TEST}.mp4
请您说明一下如何指定pathPattern
video option吗?另外,请提供您的环境详细信息。