Appium 初调试:iOS-APP
一、真机WebDriverAgent安装
1.真机连接mac;
2.找到WebDriverAgent工程所在位置并打开
/Applications/Appium.app/Contents/Resources/app/node_modules/appium-xcuitest-driver/WebDriverAgent(这个路径是安装Appium1.10.0的时候的路径,在我后来安装1.15.1的时候发现路径变了/Applications/Appium.app/Contents/Resources/app/node_modules/appium-webdriveragent/这个路径下是WDA的文件)
双击打开项目WebDriverAgent.xcodeproj
3.更改三处Bundle identifier
Target--WebDriverAgentLib--General--Identify--Bundle Identifier;
修改
Target--IntergrationApp--General--Identify--Bundle Identifier;
image.png
Target--WebDriverAgentRunner--Build Settings--Packaging--Product Buncle Identifier;
image.png
这三处的Bundle Identifier中间Facebook改为任意其他不重复的内容即可;
4.team更改为自己的AppleID即可;
5.设置完,command+U运行到真机上,需在真机上设备管理中信任该开发者才能成功运行;
6.手机上出现一个应用WebDriverAgentRunner,打开会闪一下退出,正常;
二、Desired Capabilities
1.打开appium
如果是在本机使用服务器,host可用0.0.0.0或者127.0.0.1,
port端口使用默认4723即可,如要更改需确认不要占用其他端口
(1)点击start server v1.10.1
image.png
(2)启动appium-desktop后,出现The server is running即启动服务成功,点击右上角放大镜(Start Inspector Session)
image.png
(3)创建Session,选择Automatic Server--Desired Capabilities,可以设置参数(Name-类型-值)
具体所需参数官方文档https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md
建议iOS设备增加以下参数:
{
"platformName": "iOS", //设备系统
"platformVersion": "11.0", //设备系统版本号
"deviceName": "iPhone 7", //设备名字
"automationName": "XCUITest", //iOS使用XCUITest驱动
"app": "/path/to/my.app" //在设备上安装的程序,注意:如果用模拟器需要用**.app的包,用真机的话***.ipa包
"udid": "******" //测试设备的udid,用命令idevice_id -l或者iTools查看都可以
}
成功运行后,显示手机页面,接下来就可以开始使用啦!
三、调试iOS设备的Safari浏览器(该部分内容未完成,浏览器没有实践)
1.安装调试iOS设备Safari的代理ios-webkit-debug-proxy
$ brew install ios-webkit-debug-proxy
2.手动打开iOS设备Safari的Web检查器,设置-Safari-高级-Web检查器
3.启动代理
1.打开Appium,创建Session,配置参数如下:
四、调试iOS APP
- 打开Xcode,打开WDA项目,运行在真机上
- 打开Appium,电脑连接真机
- Appium创建新Session,参数设置如下:
{
"platformName": "iOS", //测试机系统
"platformVersion": "12.1.2", //测试机系统版本
"deviceName": "R-iphone", //测试机关于中查看
"automationName": "XCUITest", //真机测试用XCUITest引擎
二选一"bundleId": "********", //如果安装了包就用APP的bundleId,向开发人员询问
二选一 "app":"ipa路径"//使用路径,每次执行会重新安装
"udid": "***********",//iTools获取,或idevice_id -l获取,或在Xcode的Windows-devices中查看
}
- 保存并运行该Session(运行的时候注意看Appium的日志,日志里会有很多值得一看的内容)
-
弹出新界面,可利用坐标进行操控手机界面,也可录制脚本
Capability -
分别介绍一下可进行的操作
1、选择元素
点击后,鼠标在手机APP页面上为可点击状态,选中某一页面元素,会展示该元素的详细信息,可选择对该元素点击、传值、清空
Select Elements
扫一扫
2、通过坐标滑动页面
鼠标在手机页面滑动时,左上角会有坐标变动,在手机页面上先点击一个起始坐标,再点击一个终点坐标,连线即页面滑动方向和长度
滑动
3、通过坐标点击页面
在手机界面点击操作手机
点选
4、返回
相当于手机返回操作
返回
5、刷新手机屏幕
刷新
6、开始录制
点击开始录制后,可选择左侧三个操作方式进行操作手机,此时会在Recorder中自动生成脚本,可选择多种录制脚本语言(java、Python、Ruby等)
录制
脚本