模拟器的好处不用说了。不占用机器资源,关键是不断电。虽然他不能完全模拟真机行为。但很多时候还是nice to have的。
好了,为什么要写这个文章。主要是我看到某司搞UI自动化测试,搞了几年还没搞起来。主要原因是搞不定build。开发一般打的包,都是app. 但是测试搞模拟器,用的是ipa. 前面一个测试,找了开发专门在jenkins搞个job. 专门来打ipa的包。这样就有个坏处,daily build跟这个包很不同步。而且自动化基本上没跑起来。
新来了个,是开发转测试的。说是代码能力强,也卡在这里了。
先来说说ipa还app有什么区别。个人的理解就是ipa的包,是越狱版。app的包,加了这个证书,认证等,属于非越狱。
其实只要自己多搜索一下,这个问题不难解决。
IOS里有命令行控制模拟器需要用的到命令是simctl: Simulators Control 看这命令的意思像是这两个单词的缩写,搭载xcrun命令,可以通过这个命令实现以下功能
创建、删除、开启 模拟器
添加图片到模拟器
安装、卸载、打开、关闭APP
帮助命令
xcrun simctl --help
查看当前有哪些模拟器
xcrun simctl list
搭载查找命令grep可以查看正在使用的模拟器
➜ ~ xcrun simctl list | grep Booted
添加一个模拟器
设备名称、设备类型、设备的操作系统、可以定位出一个设备信息,比如我们要增加一个名为DemoDevice、iPhone 7、iOS 11.4命令如下