Testcafe - 如何在报告中设置相对而不是绝对屏幕截图路径

问题描述 投票:2回答:1

我正在使用spec和xunit报告。我的.testcaferc.json是:

    {
  "screenshotPath": "artifacts/screenshots",
  "takeScreenshotsOnFails": true,
  "screenshotPathPattern": "${DATE}_${TIME}/${USERAGENT}/test-${TEST_INDEX}.png"
}

当规范中的测试失败时,xunit报告显示截图的链接,但该链接具有绝对路径。当我在本地运行测试时,这没关系。在Jenkins CI / CD中运行时,由于使用了“workspace”文件夹中的相对路径,发布的xunit报告无法使用绝对路径找到屏幕截图。有没有办法配置Testcafe将相对路径放入testRunInto.screenshotPath。我需要一个相对路径来截断任何报表提供商的截图。

Upd:我正在使用Jenkins代理服务器来运行测试。在这种情况下,工作区的绝对路径:/home/jenkins/workspace/e2e。位于相对路径的屏幕截图:artifacts/screenshots或绝对路径/home/jenkins/workspace/e2e/artifacts/screenshots。在xunit报告(或任何其他)中,我们获得了屏幕截图的绝对路径。当所有测试完成后,Jenkins Agent将整个工作区推送到Master Jenkins服务器,并且工作空间的绝对路径变为:/home/jenkins/job/test/ws/e2e和屏幕截图的路径:/home/jenkins/job/test/ws/e2e/artifacts/screenshots。然后Jenkins的构建后动作发布了“Junit测试结果报告”。但在该报告中,我们有绝对的路径来自Jenkins Agent Server。因此,在显示测试结果报告时,Master Jenkins无法找到屏幕截图。以前我曾经使用Selenium和Maven或Gradle来运行测试,并且有截屏的相对路径。

automated-tests configuration-files e2e-testing testcafe
1个回答
2
投票

目前,TestCafe没有在报告中使用相对路径的选项。我已经在TestCafe存储库中为您的案例创建了一个建议 - https://github.com/DevExpress/testcafe/issues/3497。如果此功能对您很重要,那么您可以尝试自己实现它。这并不困难。您需要执行以下操作:添加新选项(请参阅示例here)并根据此选项更改路径解析机制(请参阅示例here)。

© www.soinside.com 2019 - 2024. All rights reserved.