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等)
    录制

    脚本
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Appium 是什么 Appium 是一款用于测试 Mobile App 的开源自动化测试框架。它是通过使用 We...
    l蓝色梦幻阅读 14,162评论 2 21
  • 在今天的社会中,我们经常可以看到一个“28法则”,即百分之二十的人掌握了百分之八十的财富,百分之二十的产品,造就了...
    Blarmer阅读 1,657评论 0 0
  • 余生所有的力气都留给了爱,哪还有什么力气相互埋怨。
    吕院长阅读 1,209评论 0 0
  • 总想对自己好一点,笔端也离不开这个话题。但是似乎总是没有做到的。总想好好地过好每一天,但是很多时候没有像想的那样。...
    霓裳依依阅读 1,482评论 0 0