本文主要讲在Windows下对iOS设备进行跨平台自动化调试,很多小伙伴可能疑惑既然需要用到MacBook了为什么还要在Windows下进行跨平台调试,因为安卓的调试在Windows环境下进行编写,所以为了节省成本,直接吧iOS的调试也写在Windows下更加方便。

1.所需设备

iPhone✖️1(打开开发者模式哦,版本尽量不要iOS17以上哈,比较麻烦)

MacBook✖️1

数据线✖️1

windows电脑✖️1

2.所需环境

2.1Xcode安装

自己去苹果商店下

2.2WebDriverAgent安装

你可以选择直接去网上找个ipa包下载,也可以选择以下方式进行自主打包。

打开Xcode,连接上iPhone,然后点击 Clone Git Repository

输入WebDriverAgent的地址:https://github.com/appium/WebDriverAgent,然后等拉取完毕就行了。

可以看到这个git地址是appium的,没错,你也可以选择直接下个appium因为它里面自带wda,然后一样执行下面的操作即可。

进入之后点击WebDriverAgent主文件,然后分别选择WebDriverAgentLib和WebDriverAgentRunner。

分别修改两个子文件的signing,就是你自己的Appel ID。Team选择自己的账号,然后Bundle可以不动。

接下来就到了很重要的一步,容易踩坑,大家弄完这里之后,如果直接去运行程序,会出现一个报错

The app identifier "com.facebook.WebDriverAgentRunner" cannot be registered

这里提示,你的这个标识符已经被注册了,因为我们在上面的Lib里面已经使用过一次这个标识符了,所以我们需要修改一下我们Runner里面的标识符。首先我们先修改这里的bundle标识符,随便你改成什么样,只要和Lib里面不一样就行。

然后再次进入build setting里面,对打包进行修改,和刚刚的bundle改成一样的就行了。

然后就到了我们的打包环节。

点击Product,选到 Destination,选择你的iPhone设备。

然后同样,进入Product,选到Scheme,选择 WebDriverAgentRunner

​​​​​

最后点击一下test就会给手机上安装WebDriverAgent了

​​​​​​​

打包完成后,可能有些朋友的会出现一个报错:

Verify that the Developer App certificate for your account is trusted on you

是因为手机并没有信任你当前电脑上的Apple账户安装的内容。

打开手机设置,直接搜索设备管理,进入后可以看到开发者App栏出现你的Apple ID,信任一下就行了。

然后重新跑一下test就能打开WebDriverAgent了。

2.3tidevice3库安装

直接终端中输入

pip install tidevice3 

可能会失败几次,实在网差就挂个国内的源。

这个库的功能是让 python能直接操作iOS。

2.4 iTunes安装

很多小伙伴不太明白为啥要安装这个玩意儿,其实我也不太明白哈哈哈哈,可能是什么USB协议啥的。但是对后面的操作有影响,跟着做就完事儿了。都是作者躺过的坑,踩着过去就是了。

直接百度一下iTunes,然后安装就完事儿了。

吐槽一下,很鸡肋的音乐播放器。

2.5weditor安装

一样,直接通过pip安装就行,都设计到iOS自动化了,大家应该都会安卓的自动化了我就默认小伙伴们都了解过这个工具了哈。

没有用过的这个工具的小伙伴稍微百度了解一下🫡

3.正式运行

从正式运行开始,就和MacBook没关系了,大家可以抬出自己的Windows了。把iPhone连接到Windows上,别傻傻的插在MacBook上然后在另一台电脑操作半天都报错哈。相信大家都是比较机制的。

在正式使用weditor连接我们的iPhone之前我们需要做两件事。

3.1启动wda

输入

t3 runwda

。启动wda。

3.2进入weditor并连接手机

进入weditor选择类型iOS,然后在输入框输入http://127.0.0.1:8100 然后点击连接,刷新页面就可以使用啦。到这里你就已经半只脚踏入了iOS自动化测试门槛,接下来就是快乐的编写代码了。

4.坑

  1. 如果发现以下情况。请把手机开发者模式打开。

  1. 端口号占用

有时候连接时会发现一个报错 RuntimeError: wda xctest launched but check failed 此时请检查你的端口号占用,wda默认端口8100,你可以选择kill占用8100的进程,也可以选择在wda启动时指定它的port :

t3 runwda --src-port 端口号

注意,修改了这个端口号后,weditor连接框的端口也要对应修改

5基本常用命令

$ t3 list
...

# enable developer mode and mount develoepr image
$ t3 developer

# install & uninstall
$ t3 install https://....ipa
$ t3 install ./some.ipa
$ t3 uninstall com.example

# take screenshot
$ t3 screenshot out.png

# reboot
$ t3 reboot

# file operation
$ t3 fsync <ls|rm|pull|push> [Arguments...]

# app
$ t3 app <ps|list|launch|kill|instal|uninstall|foreground>

# install
# alias for app install
$ t3 install <URL or LocalIPA>

# screenrecord
$ t3 screenrecord out.mp4

# relay (like iproxy LOCAL_PORT DEVICE_PORT)
$ t3 relay 8100 8100
$ t3 relay 8100 8100 --source 0.0.0.0 --daemonize

# show help
$ t3 --help

Logo

更多推荐