Appium下的WDA使用个人开发者证书配置

本文首发于:行者AI

iOS的自动化操作需要借助WebDriverAgent来完成。目前网上能搜到的教程,只有关于使用免费账号和使用开发者账号相关。而出于本人当下实际情况,只能以开发者证书来代替开发者账号完成这一项任务。可是本人并不是iOS开发者,怎么办呢?于是在自己捣腾了一阵后,在某位同事大佬的协助下完成了这项任务。

PS:在找解决办法的过程中真的有感觉iOS做自动化比愿意做安卓的少了很多,而且水果机所谓的安全,用户易用,对开发者反过来真是极大的限制。

1. 关于环境

  • 基于Xcode来部署WDA,那么环境自然就是一台Mac机和Xcode,性能方面感觉没有什么要求,个人用的一台很老旧的Mac mini,只需要不太老的系统和安装了Xcode就可以。但最新的Xcode界面已有一些修改,这里就以新的Xcode界面进行展示了。大家如果在查阅老资料的时候注意自己对比到相同的项。

  • 一开始配的时候,我也是使用免费的个人证书都搞了好久才搞定,不过后面已经可以很轻松的配好啦,所以面对环境的配置问题,我们还需要耐心。

  • 涉及开发者的配置就更多了,因为网上的教程都是针对开发者账号的,最麻烦的还是用证书配置。

  • 证书模式的话我们需要两个文件:一个是证书(后缀是.p12),一个是描述文件(后缀是mobileprovision)。

  • 如果你是免费个人证书,只需要在Team那里添加一个个人的苹果账号,自然就会有一个个人分组了。

个人账号有以下几个特点:

(1)证书会七天过期
(2)设备上限是3个
(3)应用包名随便修改就可以

网上指导的说WDA要配置里面的两个地方,虽然具体原理也不是很清楚,但是其实如果跟我一样只用atxserver2-ios-provider的话,只需要配置一个就可以了。

2. 个人免费证书配置

  • Xcode中添加账号
  • 选择个人开发组
  • 修改Bundle名

导入个人证书,在搜索栏输入Bundle,看到项目默认的Facebook的Bundle名,进行修改。

Appium下的WDA使用个人开发者证书配置

3. 开发者证书配置

如果你是开发者账号的话,过程比较简单随便弄一下就行(其实是因为没有拿到过开发者账号所以并没有体验过是多么的爽快),所以这里讲证书的方法。话说多了你看着也烦,就像你正急着要查某个资料或者某个模块代码啥的解决你当下的问题。比起看别人理论半天,更想解决了燃眉之急,最好是上来就给代码你直接复制粘贴就好,以后有空有心情了再慢慢看。这里我直接上开发者证书的配置步骤。

3.1 取消自动构建,手动设置开发者证书

Appium下的WDA使用个人开发者证书配置

3.2 搜索Bundle,修改包名为自己设定的应用包名

Appium下的WDA使用个人开发者证书配置

3.3 导入描述文件

这个决定了哪些设备能够运行,需要提前自己到苹果开发者账号下面去设置哦

Appium下的WDA使用个人开发者证书配置

3.4 其他项配置

Appium下的WDA使用个人开发者证书配置

配好了以后!发现他一直提醒运行不起来,这个时候才发现,是因为这个WDA本身所带的一个Bug导致的。希望不会有其他人跟我一样踩坑…

3.5 xctrunner的Bug

Bug如图所示,这不是你配置的问题,这是WDA本身的Bug。

Appium下的WDA使用个人开发者证书配置

是的没错!我就是被这个Bug折磨了几天,总觉得自己哪里没搞对,而且本身不是iOS开发相关人员,一度快怀疑到自己的人生。其实我们,遇到问题除了百度,更应该去看项目下面的Issues…看看有没有人遇到跟我们一样的错:

bug_xctrunner

方便大家查找,具体的说明如图:

Appium下的WDA使用个人开发者证书配置

当最后点击Xcode界面上方栏Project中的Test,能看到你的手机被安装了WebDriverAgent的应用,就说明你成功了!


PS:更多技术干货,快关注【公众号 | xingzhe_ai】,与行者一起讨论吧!

上一篇:iOS应用中crash 奔溃解析


下一篇:关于XCode链接选项 -ObjC -all_load -force_load(转载)