一、说明

1. 本文目的

网上的关于真机测试的都太复杂了,官网虽然也有相关的文档,但是描述不是特别清楚,而且是英文的。所以本文力求最简单的方法进行 Appium 的真机测试配置。

2. 适用情况

这里假设你的 appium 环境已经 ok,比如已经可以在模拟器上进行软件测试,但是不知道怎么在真机上执行测试。所以管理 appium 本身环境安装等没有详细说明。

二、环境准备

1. 安装 Xcode

略,直接从 App Store 安装即可

2. 安装必备的软件

brew install libimobiledevice --HEAD
npm install -g ios-deploy

三、真机环境配置

1. 打开 Xcode,新建一个空的项目

在这需要进行一些输入

项目新建之后对项目进行一些配置:

这一步,选中Automatically manage signing,在General>Signing>Team选择自己的帐号,然后会生成Provisioning文件,把括号中的内容记下来,这就是你的Team ID,后面会用到。

最后进行编译,编译目标选择自己的手机

可以看到刚才的项目已经安装到自己手机了,现在打开会提示没有信任,进入设置>通用>设备管理,然后点击自己的 Apple 帐号,进行信任。

这个 App 不要卸载,因为如果这个 App 一直安装在手机上,个人的证书一直都是信任状态,后续安装 WebDriverAgent 就不需要再手动进行信任了。

2. 修改 WebDriverAgent 项目的配置

项目的目录不太一样(自己的跟我的可能有些区别,以自己的为准):

Xcode 打开已有的项目,打开的时候可以使用command+shift+G来将路径复制进去。

打开项目之后进行一些配置

选中Automatically manage signing,然后在Team选择自己的帐号,选择之后可能会提示错误,主要原因是名字重复了,错误提示如图

所以需要把名字改一下,按照下图把默认的com.facebook.WebDriverAgentRunner改成自己的,改了之后记住个名字后面会用到。

修改完成之后回到General可以看到Signing处没有报错就 OK 了。另外还要将WebDriverAgentLibSigning也修改一下。

修改完成之后将项目编译一下,如果没有问题会提示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 了。


↙↙↙阅读原文可查看相关链接,并与作者交流