通过VMWare Workstation创建Mac虚拟机,搭建Appium服务端,完成对Andoird和iOS设备的自动化测试
由于facebook已经停止维护webdrviceragent,而目前网上的资料都是针对webdriveragent进行的说明,并且查询下来的资料10篇文章有10中说法,因此记录下笔者的搭建的流程,供后续的朋友们参考。
文章编写的时间是2019-10-21,请各位根据时间来判断本文档是否有效
搭建Mac虚拟机
1.VMware Workstation我用的是VMware® Workstation 15 Pro 15.1.0 build-13591040,可以自行选择,应该是没有特殊要求
2.VMware Workstation默认不支持Mac的安装,需要使用unlocker解锁workstation后才会有Apple的选项
3.MacOS可以选择10.13或者10.14的文件进行安装,不管选择哪个版本,均需要升级到10.14的最新版本。原因是xcode需要在最新的系统下才能安装,笔者在写本文时,10.15在虚拟机下会变白苹果,因此升级为10.14的最新版本。
4.如果你下载的镜像文件是cdr的后缀,workstation可能会不显示对应的文件,将后缀修改为iso即可
a.在【新建虚拟机向导】中,磁盘建议选择120G。因为最新的workstation的磁盘占用只有在实际需要时才会占用对应的磁盘,因此给大一点,避免后续空间不够,再来拓展磁盘。
b.【自定义硬件】,必须将USB设置为2.0,否则iPHone在虚拟机中不能显示
c.网络请配置为【桥接】模式,便于后续远程访问
d.安装时磁盘格式请选择APFS,否则操作系统升级时对磁盘格式有要求,会升级失败
e.安装完成后等待片刻,即会出现升级的选项,请在【更多】中选择10.14.*的的升级
f.请务必安装VMWare Tools,便于操作。请和截图进行对比确认已经可以使用
安卓环境
1.下载并安装android Studio,打开android studio让其自动初始化
2.下载并安装Java
a.配置环境变量
export JAVA_HOME=/Library//Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/ export ANDROID_HOME=/Users/test/Library/Android/sdk export PATH=$JAVA_HOME/bin:$PATH export PATH=$ANDROID_HOME/platform-tools:$PATH export PATH=$ANDROID_HOME/tools:$PATH export PATH=$ANDROID_HOME/tools/bin:$PATH
iPhone环境
1.通过AppStore下载xcode,并打开xcode,让其自动初始化
2.安装一些必要的程序
#可能会出现下载失败的情况,预先调整git git config --global http.postBuffer 524288000 git config --global http.sslVerify false #安装homebrew,后续使用brew安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install npm node
brew install libimobiledevice --HEAD
npm install -g ios-deploy#可能需要sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
brew install carthage
appium
1.安装appium
2.确认手机已挂载至虚拟机
3.验证安卓手机
修改环境变量
打开appium并启动
打开【新会话窗口】,填写Android设备的数据,请注意automationName需要根据platformVersion修改
一切正常的话,【启动会话】即可拉取到手机的画面
4.验证iPhone
1.切换到目录/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
2.在目录下打开终端,执行./Scripts/bootstrap.sh,待执行完成
3.双击打开WebDriverAgent.xcodeproj
4.在xcode中修改开发者账号,使用develop的方式进行签名,编译程序
5.修改【product→scheme→*runner】,运行选择对应的手机,按住cmd+u拉起程序
6.打开appium并启动
7.打开【新会话窗口】,填写iPhone设备的数据,其中udid可以在iTunes中获取
8.一切正常的话,【启动会话】即可拉取到手机的画面
此时,整体环境已经搭建完成,可以通过对应的主机地址,进行远程自动化控制设备了