iOS 测试 没有 MAC 电脑,还有什么方式可以安装 wda 到手机上吗?

AotingKey · 2021年11月15日 · 最后由 yzq 回复于 2022年03月31日 · 7091 次阅读

最近在学习,ios 的自动化测试。想用 facebook-wda 框架,但是没有 mac 电脑,大佬还知道有什么方法不使用 mac 电脑装 wda 吗?😁

共收到 21 条回复 时间 点赞

主要是 wda 要重新签名打包,必须要 xcode,但是完成这个操作以后,就可以脱离 mac 了

2楼 已删除
剪烛 回复

现在找到个方法是可以用 sideLoadly,然后自己签名来安装。可是不知道怎么拿到手机里的 ipa 包

你是云丁的嘛?

装个黑苹果

AotingKey 回复

为什么要拿手机里的 ipa 包?工程是 wda 官网下的啊

可能说法不一样,我意思是说 wda 工程需要 xcode 来编译成 ipa 包

回复

呃,是的是个小实习生

你如果手里有已经安装好 wda 工程的手机的话,其实可以不用 mac 了,你直接用 tidevice 就可以启动了。tidevice 支持三平台 windows linux mac

临时用的话,可以找开发帮你装一个,你后面就可以用了。

但如果要深入,还是建议你想办法搞个苹果系统,黑苹果也可以。ios 自动化深入点的话,还是离不开 xcode 。

剪烛 回复

是的,只是觉得每次使用都需要 xcode 进行编译,在找有没有不需要 windows 就能进行 ios 自动化的路子。在网上看到 sideLoadly 可以将安装包安装到手机上,就在想如果存在一个 wda 包,那就不需要 xcode 编译,windows 电脑可以直接安装包就 OK

回复

你也是云丁的吗

AotingKey 回复

在 ios 系统限制下,除了 appstore 以及企业证书签名包(现在已经很难买到企业证书了),没有包是可以安装到任意手机的,都需要先把手机信息登记到开发者证书,然后用这个证书给安装包进行签名,认证这个包在这个手机上跑,是经过开发者和手机拥有者确认的。

由于这个机制的存在,意味着你就算找到了一个已经编译好的 wda 安装包(网上确实有这样的,有的开源项目自带的单测里有记录这个包,比如这个地方),也必须重签名才能安装到你的手机上,否则会在安装时由于 ios 系统限制直接不允许安装。至于重签名是否有 windows 版工具可用,我暂时没有见到。

另外:
1、windows 安装 ipa 到手机上,tidevice 也支持,tidevice install xx.ipa 就可以。如果不清楚 tidevice 的可以百度一下。
2、wda 不需要每次使用都编译的,使用的时候用 tidevice 启动手机里装好的 wda 就可以了,只有首次安装的时候,如果没有编译过需要编译。如果你手上有已经签名好的 wda ipa 包,也是可以直接不编译直接安装的。

PS:我们现在能享受到的非 mac 可以安装/启动应用的福利,背后其实都是逆向 xcode 相关通讯协议,然后换种能多平台运行的语言重写,让 ios 系统觉得这个就是 xcode 得到的产物。重签名这个涉及到安全(签名本身就是为了保障应用的可靠性,重写后你想加啥料都可以,带来的影响甚至可能比XcodeGhost要大),可能没那么容易被逆向,而且这个很有可能会把开发者带上法庭甚至监狱,所以估计也没人会公开出来吧。

陈恒捷 回复

不是,但我测过云丁的智能锁,是帮云丁的甲方

回复

云丁的甲方不是小米吗,大佬

现在的解决办法是,将打包好的 wda 包通过 sideloadly 安装到手机上。给大伙做个参考

请问你安装到手机上的 wda 包是个人免费证书吗? 还是收费的?

ZhangFeng-z 回复

个人证书,苹果账号认证的。因为 tidevice 无法打开企业认证的 WDA 好像。

使用 sideloadly 也安装不上,是这个提示

感谢各位大佬,感谢题主,目前已经实现成功使用 win 电脑安装 wda 到 ios 手机中; 直接在 陈恒捷 大佬回帖中提到的 WebDriverAgentRunner.ipa 包,在 win 电脑下使用 爱思助手的 IPA 签名工具,输入自己的 Apple ID 进行重签名,再使用爱思助手可以直接将 ipd 包安装到手机中。

ZhangFeng-z 回复

安装的 wda 能使用 tidevice 打开吗?

ZhangFeng-z 回复

大佬,ipa 的包能共享一下吗?github 里面下载报错了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册