linux 和 windows 之间奇怪的屏幕截图命名差异

Odd screenshot naming difference between linux and windows

以下是来自两个不同测试日志的片段。

Linux 在屏幕截图上执行此操作:

2022-01-07 19:34:02.6043 信息 - 屏幕截图已保存到文件“/source/fs.automation.fsol/FS.Automation.Tests/bin/Debug/net5.0/Logs/2022-01-07 19_33_47/CharityAKA/01 - “慈善机构详情 FSOL”页面 - 测试 Failure.png"

Windows 这样做:

2021-12-17 22:49:29.5490 信息 - 屏幕截图已保存到文件“C:\BuildAgent\work629dc95880ab61\fs.automation.impactfully\FS.Automation.Tests\bin\Debug\net5.0\Logs21-12-17 22_48_13\ImportedCharityList - 有效地搜索慈善机构标签页 - 测试 Failure.png"

注意 linux 中的文件名中的双引号在 windows 中的 运行 中不存在 - 这是可以在 linux 之间统一的东西和 windows?

Atata 清理文件名以使其对当前 OS 有效。双引号在 Windows 中是无效的文件名字符,所以它们在那里被删除。但我同意两者 OS.

的名称应该相同

默认的屏幕截图文件名格式呈现 PageObjectFullName 属性,看起来像 "Charity Details FSOL" page。但是我们可以将格式配置为使用 {PageObjectName} {PageObjectTypeName} 来代替,这将呈现 Charity Details FSOL page 而不带引号。您可以通过以下方式重新配置屏幕截图文件名格式:

AtataContext.GlobalConfiguration
    .AddScreenshotFileSaving()
        .WithFileName(screenshotInfo => $"{screenshotInfo.Number:D2} - {screenshotInfo.PageObjectName} {screenshotInfo.PageObjectTypeName}{screenshotInfo.Title?.Prepend(" - ")}");

或:

AtataContext.GlobalConfiguration
    .AddScreenshotFileSaving()
        .WithFileName("{screenshot-number:D2} - {screenshot-pageobjectname} {screenshot-pageobjecttypename}{screenshot-title: - *}")

顺便说一句,我将应用这种格式作为Atata v2 的默认格式。感谢您发现并报告此问题。