appium 1.5.x及以下的版本,使用UIAutomation对iOS端进行自动化测试;xcode8放弃了UIAutomation支持,而iOS10要使用xcode8编译适配,所以iOS10不能使用UIAutomation进行自动化测试了,故appium 1.5.x及以下的版本不能支持iOS 10的自动化测试。
为支持iOS 10自动化测试,appium发布了1.6.x,使用XCUITest(取代UIAutomation)进行自动化测试。
所以如果需要支持iOS 10自动化测试,就需升级appium到1.6.x,以下列出升级步骤。
二 自动化的两种框架和配置
Xcode UI自动化框架 支持iOS系统 appium 重签名 Xcode 模拟器 真机 inspect Xcode UI自动化框架 支持iOS系统 appium 重签名 Xcode 模拟器 真机 inspect 7.3 UI Automation 7,8,9 1.5 iOS打包与重签名
sudo xcode-select -switch /Applications/Xcode3.app/Contents/Developer
切换到Xcode7的版本
imeituan仓库打好的包配置在appium1.5中即可
命令行启动--appium ==== 8.1 XCUTest 8,9,10 1.6.x
进入WebDriverAgent目录,对WebDriverAgent.xcodeproj 进行全部target的签名(一定要链接上真机)
本文3.3目录
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
切换到Xcode8的版本才行
imeituan仓库打完的包配置在appium1.6中即可
1.界面化的appium1.6启动
debug包下载后进行重签名:http://hyperloop.sankuai.info/apps/imeituan/detail/5963626eed11f0026778e2ae
2.命令行的appium1.6启动
网上下载即可
参数配置参考:https://github.com/appium/appium-desktop
具体方法见:Appium 版本迁移
参考:Appium升级1.6.X
安装WebDriverAgent的时候
(1)安装WebDriverAgent
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent # appium中已经有了WebDriverAgent的源码 . /Scripts/bootstrap .sh # 安装依赖与WebDriverAgent (2)build WebDriverAgent(链接真机的时候)-生成pp文件,重签名 a.进入WebDriverAgent,用Xcode8打开webDriverAgent.xcodeprojb.修改lib的bundleid与签名c.修改app的bundleid与签名
d.runnner选成integrationApp
若此步骤不能签名成功,则到integrationApp&IntegrationTest中packing中修改签名,就可以在integrationApp(上图)中重签名成功
e.xcode中运行打开UITests.m文件,编译通过
在桌面生成一个没图标的WebDriverAgentRunner,点开之后不会有什么反应,这就OK了
安装WebDriverRunner之后,启动appium1.6即可
xpath定位方式.& className定位方式=====持续更新中........
- appium1.5 appium1.6 className定位方法 @iOSFindBy(className ="UIAStaticText") private List<IOSElement> seat1; @iOSFindBy(className = "XCUIElementTypeCell") private List<IOSElement> seat1; xpath @iOSFindBy(xpath = "//UIAApplication[1]/UIAWindow[1]/UIATableView[1]/UIATableCell[1]") private IOSElement seat; @iOSFindBy(xpath = "//UIAButton[@name='立即预订']") private MobileElement submitButton;
1.安装appium1.6.4出现的问题
解决方法
查看是否安装了gulp:gulp --version
如果未安装,则安装gulp:cnpm install -g gulp
安装完gulp之后,发现还有问题,提示缺少:Error: Cannot find module 'appium-gulp-plugins'
解决方法:xcode-select切换为Xcode8
