目录
iOS10及以上使用appium中的XCUITest框架,iOS9以下使用UIAutomation框架,iOS9两个框架均可使用。
这里重点说明使用XCUItest框架时应注意的地方。
一、说明
整体环境:Appium+Maven+TestNG+appium-testcase
-
使用Appium1.6以上版本
-
使用Maven构建项目
-
使用TestNG作为测试框架
-
云测第三方工具:appium-testcase,增加失败后重试等功能
二、Appium搭建
注:环境搭建相关问题请优先google解决
Appium+Xcode+iOS
云测提供1.6.4-beta、1.9.1、1.21.0,详情见功能自动化Appium测试框架任务提交接口
1.安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.安装libimobiledevice
brew install libimobiledevice --HEAD
3.安装carthage
appium1.6.4和appium1.9.1需要安装
brew install carthage
4.安装node
node 8 : appium1.6.4和1.9.1需要安装
node 14 :appium1.21.0需要安装
5.安装ios-deploy
npm install -g ios-deploy
6.appium下载和webDriverAgent下载
webDriverAgent代码相对官方有修改,主要是仍然保留原有scheme跳转方法实现,而非使用siri来进行scheme跳转。
如本地只能安装Xcode14,请暂时移步appium官方使用appium2
如本地系统不支持Xcode13,可尝试macOS Ventura无法使用Xcode13的解决方法 - 掘金
-
如使用appium1.6.4或1.9.1
-
请检查iproxy命令的使用方式,在终端执行iproxy -h
如返回“usage: iproxy LOCAL_TCP_PORT DEVICE_TCP_PORT [UDID]”,请下载
云测版Appium下载链接:只适用iOS,相对官方做了修改,版本是1.6.4
云测版Appium下载链接:只适用iOS,相对官方做了修改,版本是1.9.1
如返回“Usage: iproxy [OPTIONS] LOCAL_PORT:DEVICE_PORT [LOCAL_PORT2:DEVICE_PORT2 ...]”,请下载
云测版Appium1.6.4下载:只适用iOS,相对官方做了修改,版本是1.6.4
云测版Appium1.9.1下载:只适用iOS,相对官方做了修改,版本是1.9.1
-
解压的文件夹的名称改为WebDriverAgent,将项目放回appium_1.9.1/node_modules/conan-appium-xcuitest-driver(或appium_1.6.4/node_modules/conan-appium-xcuitest-driver)目录下,覆盖原来存在的WebDriverAgent即可
-
-
如使用appium1.21.0
-
解压的文件夹的名称改为appium-webdriveragent,将项目放回appium-1.21.0/node_modules目录下,覆盖原来存在的appium-webdriveragent即可
-
7.编译WebDriverAgent
-
首先在Xcode上登录Apple账号,然后使用Xcode打开WebDriverAgent.xcodeproj.
编译WebDriverAgentLib编译WebDriverAgentRunner:1.选中Signing & Capabilities 标签。2.选择自动签名。3.选择对应的team。4.build。5.查看此处的编译结果。
-
8.启动WebDriverAgent
-
appium1.6.4和1.9.1执行: cd appium_1.6.4/node_modules/conan-appium-xcuitest-driver/WebDriverAgent 或 cd appium_1.9.1/node_modules/conan-appium-xcuitest-driver/WebDriverAgent appium1.21.0执行: cd appium-1.21.0/node_modules/appium-webdriveragent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid' test