自动化测试Jenkins+Sonar使用

升级Xcode 8 后如何在IOS真机上应用Appium

2017-04-26  本文已影响117人  测试小白_stone

1.Appium支持在真机上进行测试,前提需要进行如下支持:

 (1) 一个Apple ID和一个有效的开发者账号,具备分发证书和配置权限。
 (2)iPad  或者 iPhone ,确保已经在Xcode中安装了开发权限。
 (3)一个ipa文件或者源代码或者.app文件
 (4) Xcode 和 Xcode 命令行开发工具
 (5)Mac 上 ideviceinstaller 、 ios-deploy、libimobiledevice 已安装

2.测试ideviceinstaller 是否安装成功
通过 ideviceinstaller -u udid -i [ipa/app路径] 在iOS设备上安装app,如果成功,说明ideviceinstaller 安装成功。

3.Xcode8 移除了UI Automation,Appium 依赖它执行iOS自动化。在beta版1.6的Appium中实现了新的自动化框架 Xcuitest,所以需要执行npm uninstall -g appium npm install -g appium@1.6.4-beta安装最新的Appium 服务端。

4.安装app-inspector
npm install app-inspector -g

5.测试代码

 File appDir = new File(System.getProperty("user.dir")+"/apps");
 File app = new File(appDir, "xiaoqin.ipa");
 String udid = "*******";
 DesiredCapabilities capabilities = new DesiredCapabilities();
 capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
 capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "9.3.5");
 capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "***");
 capabilities.setCapability(MobileCapabilityType.UDID, udid);
 capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

 //xcode 8 中实现了新的自动化系统,不再支持uiautomaton
 capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");  

 URL url =newURL("http://127.0.0.1:4723/wd/hub");
 driver = new IOSDriver<MobileElement>(url, capabilities);

6.遇到问题及解决方案

(1)“Could not connect to lockdownd” 可以通过 sudo chmod -R 777 /var/db/lockdown/ 修改文件夹权限。如果已经修改了文件权限,仍无法解决,可以尝试重新安装ideviceinstaller,libimobiledevice。如下:
brew uninstall ideviceinstaller
brew uninstall libimobiledevice
brew install --HEAD libimobiledevice
brew link --overwrite libimobiledevice
brew install ideviceinstaller
brew link --overwrite ideviceinstaller

(2)执行testcase的时候提示 “bin/bash Scripts/bootstrap.sh -d' exited with code 1”,在 /.npm-packages/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 路径下执行 bin/bash Scripts/bootstrap.sh -d 提示“ Please make sure that you have Carthage installed (https://github.com/Carthage/Carthage), We are expecting that carthage installed in /usr/local/bin/” ,执行 brew install carthage 问题解决。

(3)修改了上述问题后,执行时会报错 /Library/Developer/Xcode/DerivedData/WebDriverAgent-asdmomtkchbvroehfoovpsuuovoh/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app 找不到。 在 /.npm-packages/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent 下找到 /WebDriverAgent 项目,用Xcode打开对WebDriverAgentLib 和 WebDriverAgentRunner 进行签名。

上一篇下一篇

猜你喜欢

热点阅读