打印到 Xcode (XCTest) UITest 报告

Posted

技术标签:

【中文标题】打印到 Xcode (XCTest) UITest 报告【英文标题】:Printing to the Xcode (XCTest) UITest Report 【发布时间】:2016-08-05 14:58:31 【问题描述】:

我目前正在为 iPhone 应用程序编写 UITests,并且当前在辅助方法中出现意外情况时使用 NSLog 进行打印,这会导致测试级别的错误断言,因此很清楚测试中发生错误的位置。然后我只是阅读日志以查看问题所在。有没有办法将其打印到测试报告中,以便在所有测试运行后检查所有故障?目前唯一的日志结果是测试自动生成的(例如“Tap 'myButton' Button”或“Find: Elements matching typeButton”)

我很高兴做出任何必要的澄清。

【问题讨论】:

您的测试需要 html 报告吗? 可能就够了 【参考方案1】:

首先,你可以检查你的

TestSummaries.plist file

中生成
/Users/username/Library/Developer/Xcode/DerivedData/project-name/Logs/Test/TestSummaries.plist

如果你在 xcode 中打开文件,你会看到所有的测试摘要,但有点无聊。您必须展开所有节点。但是您可以使用

制作html报告
xcpretty

只需在终端中使用此命令

xcodebuild test -project projectname -scheme schmefilename -destination 'platform=ios Simulator,name=iPad 2' | xcpretty --report html --output outputfolderdestination/report.html

要安装 xcpretty,请使用以下命令

gem install xcpretty

【讨论】:

【参考方案2】:

您可以使用XCUITestHTMLReport。它创建一个类似于 HTML 报告的 Xcode

你是这样用的

$ xcodebuild test -workspace XCUITestHTMLReport.xcworkspace -scheme XCUITestHTMLReportSampleApp -destination 'platform=iOS Simulator,name=iPhone 7,OS=11.0' -resultBundlePath TestResults
$ ./xchtmlreport -r TestResults
Report successfully created at TestResults/index.html

【讨论】:

以上是关于打印到 Xcode (XCTest) UITest 报告的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9 UITest 不工作

如何确保我的 Xcode UITest 目标仅构建目标应用程序?

如何找出(使用 XCTest UITest)在 tvOS AppleTV 的表格视图中具有焦点的单元格?

UITest 在框架中不起作用

如何创建一个在 XCTest 中定义按钮或文本字段的 swift 文件?

iOS:xcode 5,将项目从 xctest 迁移到 senTestingKit