运行 XCUITest 自动化后获取应用的 console/file 日志和视频

Getting app's console/file logs and video after running XCUITest automation

我正在尝试为我的 iOS 应用程序自动化几个流程。我正在尝试构建一些东西,这些东西会在我的 MAC machine 上及时触发,phone 使用 shell 脚本连接 shell xcodebuild。

我想介绍 2 个场景。

1) 我想启动我的应用程序 N 次,按 3 个按钮打开 3 个 ViewControllers。我的应用程序的整个交互将生成一些日志(我可以登录到 file/console),我将如何从应用程序访问这些日志到启动 xcodebuild 的 shell 脚本。我试过但无法从外部访问设备中我的应用程序的 sharedContainer。

2) 我安装了两个应用程序。第一个是我构建的应用程序,第二个是我从 App store 下载的应用程序。我想自动启动这两个应用程序并录制启动视频,然后将其保存在我的 mac 上的某个位置。我在这里试图实现的目的是通过使用启动视频来比较两个应用程序的启动。

考虑到以下几点后,我正在使用XCUITest。

对于问题 1) 我将编写一个 XCUITest,使用异步测试等待一些按钮出现然后点击它们。还没有想出一种方法来从我 运行 shell 脚本的终端中获取应用程序的日志。

对于问题 2)我将编写一个 XCUITest 来启动这两个应用程序,点击主屏幕上的特定 X 和 Y 位置,然后按下主页按钮。使用 XCUIDevice.sharedDevice().pressButton(XCUIDeviceButton.Home)。但是我还没有弄清楚如何拍摄这个正在完成的视频。

你能帮我解决这些问题吗?另外,如果我走错了方向,有人可以向我指出,我是 iOS 的 XCUITest 和自动化领域的新手。

1) 对于日志我们可以使用https://github.com/ios-control/ios-deploy

2) 对于视频,我使用了 ReplayKit。 https://developer.apple.com/documentation/replaykit?language=objc