对于我的一些iOS应用程序项目,我希望我的CI服务器能够报告以下属性:
作为随时间变化的图表,以及“低水位线”,如果测量结果不在特定标准内,则构建失败。我已经找到了一些我需要的东西。
main()
和离开application:didFinishLaunchingWithOptions:
之间的持续时间。CADisplayLink
放入应用并对其duration
属性进行采样。我还没有解决的问题是,我应该如何将这些测试嵌入到我的应用中并在iPad上启动?如上所述,我可以将应用程序部署到iPad,但后来我不知道如何启动它来收集测试结果。我的单元测试在模拟器上运行 - 我不想在那里运行性能测试: - )。
我想有一个解决方案,包括越狱iPad并通过SSH控制应用程序,如果可能的话,我宁愿不要沿着那条路走下去。如果您已经完成了这项工作并且可以解释它是如何工作的,我仍然希望听到它。
答案 0 :(得分:9)
我还使用fruitstrap在CI中的设备上安装应用程序。在启动应用程序方面,我知道两种方式:
使用附带调试器的fruitstrap
将instruments
命令行工具与UIAutomation一起使用
在这两种情况下,我在libusb周围使用一个小包装器来给我附加设备的设备ID,因此我插入CI机器的设备越多,它运行的设备就越多,https://github.com/sgleadow/iphone_detect
答案 1 :(得分:1)
您可以使用lldb在设备上启动应用程序吗?
如果是这样,它也可以捕获日志输出。