【发布时间】:2019-07-19 07:41:33
【问题描述】:
我正在使用规范和 xunit 报告。我的 .testcaferc.json 是:
{
"screenshotPath": "artifacts/screenshots",
"takeScreenshotsOnFails": true,
"screenshotPathPattern": "${DATE}_${TIME}/${USERAGENT}/test-${TEST_INDEX}.png"
}
当规范中的测试失败并且 xunit 报告显示屏幕截图的链接时,但该链接具有绝对路径。当我在本地运行测试时没关系。在 Jenkins CI/CD 中运行时,由于使用“工作区”文件夹中的相对路径,发布 xunit 报告无法使用绝对路径找到屏幕截图。有没有办法配置 Testcafe 将相对路径放入 testRunInto.screenshotPath。我需要任何报告提供者的屏幕截图的相对路径。
更新:我正在使用 Jenkins 代理服务器运行测试。在这种情况下,工作区的绝对路径:/home/jenkins/workspace/e2e。屏幕截图位于相对路径:artifacts/screenshots 或绝对路径 /home/jenkins/workspace/e2e/artifacts/screenshots。在 xunit 报告(或任何其他)中,我们得到了屏幕截图的绝对路径。当所有测试完成后,Jenkins Agent 将整个工作区推送到主 Jenkins 服务器,工作区的绝对路径变为:/home/jenkins/job/test/ws/e2e 和截图路径:/home/jenkins/job/test/ws/e2e/artifacts/screenshots。然后 Jenkins 构建后操作发布“Junit 测试结果报告”。但在该报告中,我们有来自 Jenkins 代理服务器的屏幕截图的绝对路径。结果詹金斯大师在显示测试结果报告时无法找到屏幕截图。
以前我使用 Selenium 和 Maven 或 Gradle 来运行测试,并且有截图的相对路径。
【问题讨论】:
-
目前,TestCafe 没有在报告中使用相对路径的选项。你的用例对我来说不清楚。你能详细描述一下你的场景吗?
-
更新了我的问题
标签: testing automated-tests e2e-testing configuration-files testcafe