如何在 Jenkins 中将屏幕截图附加到 XCUITest 报告。只有通过 XCODE 运行才能看到截图

Posted

技术标签:

【中文标题】如何在 Jenkins 中将屏幕截图附加到 XCUITest 报告。只有通过 XCODE 运行才能看到截图【英文标题】:How to attach screen shot to XCUITest report in Jenkins. Can only see screenshot if running through XCODE 【发布时间】:2016-08-25 18:01:49 【问题描述】:

步骤

    我在 Jenkins 有一份工作,负责构建和运行 XCUITest 但是完成后没有选项可以看到失败案例的截图

    我使用xcpretty 生成html 类型的报告,但也有截图不显示。 它有一个 -screenshot 属性,但只接受具有指定名称的屏幕截图。 (如TestcaseName_Classname.jpg) 但是 xcuitest 使用名称'screenshot_.jpg"

    截取屏幕截图

    任何人都可以提供一些关于此的信息

谢谢

【问题讨论】:

【参考方案1】:

到目前为止,xcpretty 中的屏幕截图集合已损坏。

https://github.com/supermarin/xcpretty/issues/251

您可以使用 xcsummary 作为解决方法。

https://github.com/supermarin/xcpretty/issues/251

【讨论】:

【参考方案2】:

你需要在这里指向attachment.name

func takeScreenshot() 
        let screenshot = XCUIScreen.main.screenshot()
        let attachment = XCTAttachment(screenshot: screenshot)
        attachment.lifetime = .deleteOnSuccess
        attachment.name = UITest.sharedInstance.testCase.name
        add(attachment)
    

【讨论】:

以上是关于如何在 Jenkins 中将屏幕截图附加到 XCUITest 报告。只有通过 XCODE 运行才能看到截图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Cucumber Report 中自定义软断言期间附加/嵌入捕获的屏幕截图?

在 Windows 上使用 Jenkins 运行 Selenium 测试期间,如何在未实际登录机器时捕获屏幕截图?

将屏幕截图附加到 TestNG 失败的方法结果

如何在 Pytest JUNIT xml 中附加屏幕截图以显示在 Azure DevOps 上?

如何在 Windows 10 中将文件夹添加到 `Path` 环境变量(附截图)

谁能告诉我附加屏幕截图的编码格式是啥? [关闭]