https://testerhome.com/topics/14911
一、说明
1. 本文目的
网上的关于真机测试的都太复杂了,官网虽然也有相关的文档,但是描述不是特别清楚,而且是英文的。所以本文力求最简单的方法进行Appium的真机测试配置。
2. 适用情况
这里假设你的appium环境已经ok,比如已经可以在模拟器上进行软件测试,但是不知道怎么在真机上执行测试。所以管理appium本身环境安装等没有详细说明。
二、环境准备
1. 安装Xcode
略,直接从App Store安装即可
2. 安装必备的软件
brew install libimobiledevice --HEAD
npm install -g ios-deploy
三、真机环境配置
1. 打开Xcode,新建一个空的项目
在这需要进行一些输入
Team
,在这里需要登录你的Apple帐号Product Name
,可以随便输入,比如ttestApp
Organization Identifier
,输入你的组织帐号,比如io.test
,注意如果提示不唯一,需要改名字,改成自己喜欢的都行。
项目新建之后对项目进行一些配置:
这一步,选中Automatically manage signing
,在General>Signing>Team
选择自己的帐号,然后会生成Provisioning
文件,把括号中的内容记下来,这就是你的Team ID
,后面会用到。
最后进行编译,编译目标选择自己的手机
可以看到刚才的项目已经安装到自己手机了,现在打开会提示没有信任,进入设置>通用>设备管理
,然后点击自己的Apple帐号,进行信任。
这个App 不要卸载,因为如果这个App一直安装在手机上,个人的证书一直都是信任状态,后续安装WebDriverAgent就不需要再手动进行信任了。
2. 修改WebDriverAgent项目的配置
项目的目录不太一样(自己的跟我的可能有些区别,以自己的为准):
- 如果使用的是Appium-Desktop,那么目录在
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj
- 如果使用的是appium命令行,那么目录可能在
/usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/WebDriverAgent.xcodeproj
,
Xcode打开已有的项目,打开的时候可以使用command+shift+G
来将路径复制进去。
打开项目之后进行一些配置
选中Automatically manage signing
,然后在Team
选择自己的帐号,选择之后可能会提示错误,主要原因是名字重复了,错误提示如图
所以需要把名字改一下,按照下图把默认的com.facebook.WebDriverAgentRunner
改成自己的,改了之后记住个名字后面会用到。
修改完成之后回到General
可以看到Signing
处没有报错就OK了。另外还要将WebDriverAgentLib
的Signing
也修改一下。
修改完成之后将项目编译一下,如果没有问题会提示Build Succeeded
。
3. 修改启动参数并进行测试
{
"platformName": "ios",
"platformVersion":"11.2.1",
"deviceName": "iPhone",
"automationName": "XCUiTest",
"bundleId": "", # 这里你自己APP的bundleId,不知道可以问开发
"udid": "x", #手机的uuid
"xcodeOrgId": "", #你自己的Team ID,上面提示你记住了
"xcodeSigningId":"iPhone Developer",
"updatedWDABundleId": "xxx.WebDriverAgentRunner", #上面第二步你修改的DriverAgent的bundle Id
"showXcodeLog": True,
}
可以正常启动手机上的APP了。