今天的文章讲iOS的Appium环境搭建。node
对于iOS而言,只能在Mac笔记本上安装Appium,以及所须要的各类组件。python
也许有人会问,可否在Windows系统上使用Appium测试iOS手机,这不就不用花钱买Mac了吗?答案是不能够,由于Appium的本质是把咱们编写的自动化测试脚本,翻译成Mac中UIAutomator的脚本,因此只能Mac来作,Windows系统搞不定。可是,你能够装黑苹果来解决这个问题。ios
咱们这篇文章不提黑苹果,而是介绍怎么在mac笔记本上安装能运行iOS自动化测试的appium。git
如下的6个步骤,在上一篇文章咱们已经介绍过,请参考上一篇文章。。github
1)安装Node。npm
2)使用Node下载Appium Server。xcode
3)下载并安装Appium Desktop.ruby
4)下载并安装Python 3。app
5)使用pip下载Appium Client。curl
6)安装Appium Doctor。
为何说iOS支持Appium麻烦呢,由于还要执行下列的步骤:
1)安装最新版的XCode,去App Store下载并安装最新版便可
要确保XCode的版本和IPhone的版本是兼容的,不然就升级系统。
2)安装Xcode Command Line Tools
到官网下载Command Line Tools,这哥们以前是和XCode捆在一块儿安装的,后来分家单过了,因此要去Developer Apple官网单独下载并安装,下载地址是:
https://developer.apple.com/download/more/
不要尝试使用xcode-select ––install,会失败的。
3)安装homebrew,用于mac系统的软件包下载。执行如下脚本:
/usr/bin/ruby -e "$(curl –fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
4)安装carthage,用于依赖管理,执行如下命令:
brew install carthage
5)安装 libimobiledevice,用于Appium链接iOS的设备
brew install libimobiledevice –HEAD –g
6)安装ideviceinstaller,用于管理安装在手机上的App:
brew install ideviceinstaller –g
若是执行这个命令报错,以下所示:
Could not connect to lockdownd. Exiting.
解决办法就是,增长lockdown的权限,执行下面的命令便可:
sudo chmod –R 777 /var/db/lockdown
7)安装ios-deploy,iOS10以上的系统才须要安装
npm install -g ios-deploy
8)设置WebDriverAgent项目的Signing
Appium对iOS的支持,是经过WebDriverAgent来实现的,这是Facebook开源的一个项目,内置在Appium Desktop中,位于下面的路径:
/Application/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj
可是咱们安装了Appium后,并不能指定它内置的WebDriverAgent的开发者帐号,所以要进入这个目录,手动进行设置。
用XCode打开WebDriverAgent.xcodeproj,而后配置两个Targets,一个是WebDriverAgentLib,另外一个是WebDriverAgentRunner,配置Signing,设置Team为开发者帐号便可。
9)此外,我还遇到过错误信息,说是Apple Developer开发者帐号须要有了新协议,须要我登录上去点击赞成,照它说的去作,登陆到Apple Developer点击赞成就行了。
至此,在Appium上就能够运行iOS的自动化测试了,上述步骤缺一不可。能够说九九八十一难,一步一个坑,我为此整整折腾了三四天,才配置好。
10)若是前面的功课都作完了,那appium基本就可使用了。在执行appium-doctor命令时,会看到一些警告:
咱们来逐一解决这些警告。
1.opencv4nodejs cannot be found
到官网下载CMake并安装,地址以下所示:
https://cmake.org/download/
把CMake的路径添加到全局变量PATH中,以下所示:
export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/
export PATH=$CMAKE_ROOT:$PATH
最后执行命令:
npm install opencv4nodejs
2. ffmpeg cannot be found
解决方案:输入brew install ffmpeg
3. mjpeg-comsumer cannot be found
解决方案:输入npm i -g mjpeg-consumer
4. idb and idb_companion are not installed
执行如下命令
brew tap facebook/fb
brew install idb-companion
pip3.7 install fb-idb
注意pip3.7是个人python的版本号。能够去全局变量中检查一下是否设置了pip的路径,有的是3.6或别的版本。
5. applesimutils cannot be found
执行如下命令:
brew tap wix/brew
brew install applesimutils
6. bundletool.jar cannot be found
到https://github.com/google/bundletool/releases下载bundletool.jar的最新版本,下载到的这个jar的文件名可能有带版本号,不管是什么,都更名为bundletool.jar。
在前面建立的sdk目录下,建立一个子目录bundle-tool,把bundletool.jar放在这个子目录下。
给这个子目录和这个jar文件,增长权限。执行下面的脚本:
chmod +x
chmod +x bundletool.jar
在全局变量PATH中,增长bundletool.jar的路径,以下所示:
expert PATH=${PATH}:$ANDROID_HOME/bundle-tool
在下一篇文章中,我将介绍电脑如何链接Android和iOS真机和模拟器,以及准备合适的DesiredCapabilities,从而在Appium中启动App。