通过自动化脚本在仪器 iOS 标准输出上自定义日志

Posted

技术标签:

【中文标题】通过自动化脚本在仪器 iOS 标准输出上自定义日志【英文标题】:Having custom logs on instruments iOS stdout from automation script 【发布时间】:2012-11-19 15:00:52 【问题描述】:

我正在使用工具 CLI 自动化我的测试。

现在,一旦我的应用中的某些特定操作完成,测试需要启动另一个进程。

即假设应用程序确实

singin --> 创建账户 --> 发布更新 --> singout

注销完成后,我想为我的应用拍摄内存快照,为此我将使用 top/ps 命令。

我想要做的是,在 singout 操作完成后在输出上记录一些特定的内容。 例如“唯一字符串.......单出完成......唯一字符串”

另一个脚本会继续检查日志的输出,看看这个字符串是否出现,并在出现时启动其他进程。

现在的实际问题是,是否会在我的自动化 javascript 中将 console.log(string) 放入仪器的标准输出中? 如果现在我可以使用什么命令(或 API)在仪器 CLI 的标准输出上生成自定义日志?

【问题讨论】:

【参考方案1】:

我认为这就是您要搜索的内容:

UIALogger.logDebug("a log message");

将其放入您的脚本中,a log message 将被写入 Instruments 的编辑器日志。但是,我还没有在跟踪日志中得到它。

您可以在此文档页面中找到更多信息: ~/Library/Developer/Shared/Documentation/DocSets/com.apple.adc.documentation.Appleios6.0.iOSLibrary.docset/Contents/Resources/Documents/index.html#documentation/DeveloperTools/Reference/UIAutomationRef/Introduction/Introduction.html

语言和实用工具 > UI 自动化 JavaScript 参考

您还可以查看UIALogger Class ReferenceCore Services Layer > UIAutomation > UIALogger 类参考

你可能想看看IMAT,它似乎也提供了大量的自动化必杀技!

【讨论】:

有没有办法将它刷新到标准输出?我需要对此进行强制刷新,以便根据收到的输出我可以执行一些特定操作。 对不起,我没有深入使用它,所以无法回答。我想我记得看到工具过滤 XCode Instruments 的输出,所以这可能是可能的。也许看看IMAT和TuneUp JS是什么,你可能会发现一些有趣的东西......

以上是关于通过自动化脚本在仪器 iOS 标准输出上自定义日志的主要内容,如果未能解决你的问题,请参考以下文章

在猫鼬上自定义 json 输出

如何协同设计自动生成的 iOS 应用程序?

是否可以在 iOS 上自定义推送通知

Xamarin 表单 - 如何在 TabbedView (iOS) 上自定义 VoiceOver

在 iOS 上自定义 session_start 事件参数

Shell自定义输入输出文件描述符