想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除
Posted
技术标签:
【中文标题】想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除【英文标题】:Want to Stop the Debugging Console Clearing after Test Run during UI Testing in Xcode 【发布时间】:2015-11-16 19:42:11 【问题描述】:当我在 Xcode 7.1.1 中使用 UI 测试运行单个测试并且测试完成时,调试控制台日志输出会消失。
我正在使用模拟器运行测试,我的 setUp()
包含 XCUIApplication().launch()
。
当测试运行时,控制台会填满测试的输出。
当模拟器在测试完成后关闭时它会被清除。
有没有办法防止控制台文本消失并在测试完成后保持可见?
【问题讨论】:
【参考方案1】:您可以在报告导航器中查看测试的日志输出,这是 Xcode 中导航器区域的最后一个选项卡(在 Xcode 9 中打开该选项卡的命令 9,屏幕截图来自早期版本)。只需选择您的测试运行,然后选择 Xcode 编辑器顶部的 Logs 而不是 Tests,突出显示您的测试包,然后单击突出显示的行右侧显示多条水平线的小图标。这将向您显示测试的完整输出,包括您的日志记录。
【讨论】:
谢谢!获得输出的点击次数很多,但至少它在那里。 我不清楚的是为什么我看不到来自我的应用程序本身的日志?该应用程序运行正常,这意味着我已初始化的类实际上正在运行。但是这些类中的任何日志消息在控制台中都不可见。就像 XCTest 独自拥有控制台一样。有没有办法解决这个问题? @shmim 如果您在模拟器中运行,您可能会在控制台应用程序中看到其他日志记录。如果您在设备上,可以使用 Xcode 中的“设备”窗口查看设备控制台。 如何过滤 Console.app 日志以查看在模拟器中运行的应用程序的 XCode 消息?现在是一大堆系统日志…… 迟到的答案,但是......在 Console.app 中,搜索应用程序的名称作为进程。意思是,点击“搜索”栏;输入您的应用程序的名称;按“输入”;然后单击出现在搜索词前面的Any
,然后选择“处理”。这会将显示的结果限制为“进程”列中包含您的应用名称的任何行。【参考方案2】:
Charles 有正确的答案,但让我补充一下,因为 Xcode 10 改变了以令人困惑的方式查找日志的方式(至少对我而言)。这是更新的屏幕截图,日志选项已移至左侧的 Report Navigator 区域,选择它并点击错误右侧的“展开手风琴”以打开控制台日志。
【讨论】:
以上是关于想要在 Xcode 中的 UI 测试期间在测试运行后停止调试控制台清除的主要内容,如果未能解决你的问题,请参考以下文章