在iOS设备上要通过Appium执行自动化用例或查看页面元素时,都必须在真机上安装WebDriverAgent(点开看介绍)
模拟器上轻松跑,一旦遇到真机,就各种坑,整个过程其实没多复杂,但是操作起来很费时费神。
1.首先需要登陆Apple ID
-打开 Xcode > Preferences > Accounts: Add developer's Apple ID
2.进入命令行工具(1.command+ space 2.输入终端),下载和安装必要的依赖。
依次输入以下内容:
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
mkdir -p Resources/WebDriverAgent.bundle
sudo sh ./Scripts/bootstrap.sh -d #输入电脑登陆密码
3.打开WebDriverAgent工程
方式1:命令行打开
open WebDriverAgent.xcodeproj
方式2:finder内打开
打开finder(访达) > command + shift + G > 粘贴地址(/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent )> 双击WebDriverAgent.xcodeproj
常见问题
打开工程后可能因为权限问题,提示你无法解锁该工程,也就是你没有读写权限提示:The file "project.xcworkspace" could not be unlocked. Could not add write permission to the file because you do not own it. Try modifying the permissions of the file in the Finder or Terminal.
解决:通过finder打开工程目录,回到上一级(command + ↑) > 右键“WebDriverAgent” > 显示简介 > 右下角解锁 > 共享与权限 > + > 添加自己的账户 > 权限一栏下选择“读与写”
-
设置签名
target选择WebDriverAgentLib,在Signing区域,勾选Automatically manage signing,选择一个team,最后改下Bundle identifier,你可以把facebook改成你的名字
5.编译
工具栏 > Product > Build 或者 command + B
6.签名WebDriverAgentRunner并编译
选择WebDriverAgentRunner,并重复步骤4和5
改Bundle identifier的步骤和上面不一样: >Build Settings > 搜索facebook >改成和上面一样的Bundle identifier
7.在命令行中重新编译并安装测试WebDriverAgent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=' test
udid替换成你真机的udid
查看udid方法:
打开xcode > Window > Devices and Simulators > Identfier 后面的字符串就是udid
弹这个提示栏,选择Always Allow
如果build成功了,终端中会以这些log信息结尾
Test Suite 'All tests' started at 2017-01-23 15:49:12.585
Test Suite 'WebDriverAgentRunner.xctest' started at 2017-01-23 15:49:12.586
Test Suite 'UITestingUITests' started at 2017-01-23 15:49:12.587
Test Case '-[UITestingUITests testRunner]' started.
t = 0.00s Start Test at 2017-01-23 15:49:12.588
t = 0.00s Set Up
注意:
以上步骤适用于命令行运行Appium跑case。如果要在Appium桌面端应用中查看页面元素,需要在以下地址中重复上面的步骤
cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
其他问题:
个别版本的appium内置的WebDriverAgent可能有问题,编译会报错,在git上下载最新版本(地址:https://github.com/appium/WebDriverAgent
),替换了再执行上述操作即可。