目录
一:appium ios 搭建
参考地址:https://github.com/appium/appium-xcuitest-driver
温馨提示:
以下安装不要在root用户下安装。若出现权限问题,进入root用户将文件权限更改下。然后退出root用户继续安装即可
1、有一个MAC机器,或者虚拟机,能够联网,要求Xcode8+ MAC系统10.11+(我用的是Xcode8.2 , MAC系统10.12)有一个Apple ID账号
2、安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3、安装libimobiledevice
brew install libimobiledevice --HEAD
4、安装carthage
brew install carthage
5、安装node(目的是安装npm)按照官方的地址https://nodejs.org/en/download/。 下载.pkg文件安装
6、安装cnpm(由于某种原因,直接用npm下载安装会有好多网络问题,安装淘宝的cnpm要比npm好用) https://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
7、安装ios-deploy
cnpm install -g ios-deploy
8、安装xcpretty 如果安装出错,切换个目录再试试
gem install xcpretty
9、安装appium1.8.0(到发帖为止,最新版本是1.8.0,要其他版本的跟上版本号就行了)这一步骤若出现安装jDK弹出框忽略就好
cnpm install -g [email protected]
二:iOS 查看元素方式
第一种:使用appium 自带的框架,appium inspector
appium inspector 底层使用的XCUITest 来识别页面元素
1、需要把WDA 即WebDriverAgentRunner 安装到虚拟机或真机中,借助WebDriverAgentRunner的驱动来识别元素
2、需要进入WebDriverAgentRunner目录:一般是/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent (如果WebDriverAgent 所在路径和此不同,请自行查找)
3、看下有没有这个目录 Resources/WebDriverAgent.bundle,没有的话就需要创建
mkdir -p Resources/WebDriverAgent.bundle
4、下载相关依赖
sh ./Scripts/bootstrap.sh -d
5、用xcode运行WebDriverAgent修改包名,即重签名,然后运行到手机端
参考详细链接:https://www.cnblogs.com/baconLiu/p/6861431.html
https://blog.csdn.net/leorx01/article/details/79169423
第二种方式:使用macaca 的XCTestWD 来识别元素
与上基本类似
1、同样需要运行xctestwd至真机或模拟器,先进入目录
2、xcode 重新签名,
3、运行到真机或模拟器
官方使用文档介绍的很详细:https://macacajs.github.io/zh/inspector
三:IOS 常用终端命令
lsof -i :5678 查看端口占用的进程
kill -s 9 40036 结束的该进程
ios 的终端命令一般使用第三方的开源库工具,下面介绍两种:libimobiledevice、ios-deploy
libimobiledevice
libimobiledevice 是一个跨平台的软件库,支持 iPhone®, iPod Touch®, iPad® and Apple TV® 等设备的通讯协议。不依赖任何已有的私有库,不需要越狱。应用软件可以通过这个开发包轻松访问设备的文件系统、获取设备信息,备份和恢复设备,管理 SpringBoard 图标,管理已安装应用,获取通讯录、日程、备注和书签等信息,使用 libgpod 同步音乐和视频。
安装方式
brew install --HEAD libimobiledevice # 安装最新的更新,支持 iOS 10 brew install ideviceinstaller # 仅在 iOS9工作
常用命令
1. 查看当前所连接的设备
idevice_id -l # 显示当前所连接的设备[udid],包括 usb、WiFi 连接 instruments -s devices # 列出设备包括模拟器、真机及 mac 电脑本身
2. 安装应用
xxx.ipa为应用在本地的路径
ideviceinstaller -u [udid] -i [xxx.ipa] # 给指定连接的设备安装应用
3. 卸载应用
bundleId为应用的包名
ideviceinstaller -u [udid] -U [bundleId] # 给指定连接的设备卸载应用
4. 查看设备已安装的应用
ideviceinstaller -u [udid] -l # 指定设备,查看安装的第三方应用 ideviceinstaller -u [udid] -l -o list_user # 指定设备,查看安装的第三方应用 ideviceinstaller -u [udid] -l -o list_system # 指定设备,查看安装的系统应用 ideviceinstaller -u [udid] -l -o list_all # 指定设备,查看安装的系统应用和第三方应用
5. 获取设备信息
ideviceinfo -u [udid] # 指定设备,获取设备信息 ideviceinfo -u [udid] -k DeviceName # 指定设备,获取设备名称:iPhone6s idevicename -u [udid] # 指定设备,获取设备名称:iPhone6s ideviceinfo -u [udid] -k ProductVersion # 指定设备,获取设备版本:10.3.1 ideviceinfo -u [udid] -k ProductType # 指定设备,获取设备类型:iPhone8,1 ideviceinfo -u [udid] -k ProductName # 指定设备,获取设备系统名称:iPhone OS
ios-deploy
ios-deploy 同样是一个安装和调试应用的命令行工具。0需要一个有效的开发者证书,已安装 Xcode 7以上的版本。
安装方式
- 安装 node (已安装可略过)
brew install node
- 安装ios-deploy
npm install -g ios-deploy
- 开发者证书安装,请找 iOS 开发吧。
常用命令
1. 查看当前所连接的设备
ios-deploy -c # 查看连接的设备包括:usb、wifi 连接 ios-deploy -c --no-wifi # 查看连接的设备(usb),忽略 WiFi 连接的
2. 安装应用
xxx.app为 Xcode 编译后的应用安装包路径
ios-deploy --id [udid] --bundle [xxx.app] # 给指定应用安装应用
3. 卸载应用
ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] # 给指定连接的设备卸载应用
4. 查看设备已安装的应用
- ios-deploy --id [udid] --list_bundle_id # 指定设备安装的所有应用,包括系统应用和第三方应用 ios-deploy --id [udid] --exists --bundle_id # 指定设备检查指定应用是否已经安装