在IOS测试工作中有很多童鞋都在用PP助手一类的工具安装ipa包,当然这些都是基于手工操作的。但是如果我们要实现持续集成+自动化的方式进行IOS自动化测试,这种方式就不可行了。我们需要一种通过命令行的方式来安装ipa包,这个工具就是今天我们要讲的ideviceinstaller。
我们先安装ideviceinstaller:
1. 打开终端(控制台),输入下面命令并运行:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
2. 等待结束后运行(为了防止之前安装过,先卸载;如果没有装过可以跳过前两步):
brew uninstall ideviceinstaller
brew uninstall libimobiledevice
brew install --HEAD libimobiledevice
brew link --overwrite libimobiledevice
brew install ideviceinstaller
brew link --overwrite ideviceinstaller
* 在使用中如果遇到Could not connect to lockdownd. Exiting错误可以试试升级libusbmuxd并重新运行2解决。
升级libusbmuxd方法(https://blog.csdn.net/ZuoWeiXiaoDuZuoZuo/article/details/83413074):
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
* 如果遇到ruby版本过低等情况需要升级ruby并确保可以使用
接下来就来看看如何使用ideviceinstaller:
可以看到,ideviceinstaller提供了安装,卸载,通过UDID定位等基础功能,基本上可以满足我们的自动化安装需要。
运行:ideviceinstaller -i your_ipa_path
ideviceinstaller -i /Users/companymacos/Downloads/xxxx.ipa
如果连接了多部手机需要分别安装时,请使用UDID指定:ideviceinstaller -u your_iphone_udid -i your_ipa_path
ideviceinstaller -u E32X1D9D-9EX5-4AXC-820D-XXXXXXXXXXX -i /Users/companymacos/Downloads/xxxx.ipa
如果在安装最后遇到Segmentation fault: 11这种问题,应该是手机系统的版本和ideviceinstaller支持的版本不匹配,但是我发现这并不影响安装成功。