使用Appium进行iOS的真机自动化测试
windows不支持appium连接ios,只适用于mac
使用Appium进行iOS的真机自动化测试
安装类库
Homebrew
如果没有安装过Homebrew,先安装 [ homebrew ]
npm
如果没有安装npm,请移步 [ node.js和npm安装 ]
安装依赖库
brew install libimobiledevice --HEAD
sudo npm install -g ios-deploy --unsafe-perm=true
如果执行sudo npm install -g ios-deploy --unsafe-perm=true
报错,执行sudo xcode-select --switch/Applications/Xcode.app/Contents/Developer/
如果没有安装 libimobiledevice,会导致Appium无法连接到iOS的设备,所以必须要安装,如果要在iOS10+的系统上使用appium,则需要安装ios-deploy
appium-doctor 安装
npm install appium-doctor -g
安装后执行appium-doctor –ios指令,可以查看与iOS相关配置是否完整,下图是全部配置都成功,如果出现有一项不正确在执行一次就可以,或者直接跳过
appium-doctor –ios
更新Appium中的WebDriverAgent
- 到WebDriverAgent下载最新版本的WebDriverAgent
- cd 进入下载后的WebDriverAgent文件
- 执行 ./Scripts/bootstrap.sh
- 直接用Xcode打开WebDriverAgent.xcodepro文件
- 配置WebDriverAgentLib和WebDriverAgentRunner的证书
- 连接并选择自己的iOS设备,然后按Cmd+U,或是点击Product->Test
- 运行成功时,在Xcode控制台应该可以打印出一个Ip地址和端口号
- 在网址上输入http://192.168.2.101:8100/status,如果网页显示了一些json格式的数据,说明运行成功。
- 进入到Appium中的WebDriverAgent目录,目录路径如下
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/
- 将自己下载并编译后的WebDriverAgent替换Appium原有的WebDriverAgent
在Appium-Desktop下载传送门中下载最新版本的Appium-Desktop
- 运行Appium-Desktop
- 开启start server
- 点击start new session并且在Desired Capabilities 中输入相关的参数后点击Start Session
- 运行成功后,会弹出一个控制界面,在该界面中可以控制手机上正在运行的程序
利用Appium-Python-Client进行iOS的自动化测试
-
安装python
brew install python
-
下载python-client
git clone https://github.com/appium/python-client.git
cd python-client
python setup.py install -
在git上下载测试文件appiumSimpleDemo
开始自动化测试
- 打开下载后的appiumSimpleDemo文件,打开appiumSimpleDemo.xcodepro程序,配置下TARGET的签名
-
在appiumSimpleDemo的根目录执行编译指令,编译出一个app文件
xcodebuild -sdk iphoneos -target appiumSimpleDemo -configuration Release
,编译成功后app文件的地址会打印在命令行中 -
配置python文件
打开appiumSimpleDemo中的appiumSimpleDemo.py文件,将,修改setup中的几个参数,将app的路径,设备的相关信息修改成当前连接设备的信息。
如果执行appiumSimpleDemo.py
报错File"/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions
请升级python版本,如果你是iOS开发人员,请谨慎,升级python有可能是Xcode无法打包参考文稿
参考链接
https://www.jianshu.com/p/ae8846736dba
https://github.com/zhshijie/appiumSimpleDemo
https://github.com/appium/appium-desktop/releases/tag/v1.2.0-beta.1