先前写过公主连接农场脚本,也写过昆特牌脚本,但还没有在iOS上实现过类似的自动化脚本,凑巧最近在蝗9号开服的碧蓝档案,遂尝试一番,Xcode上用网易开发的AirtestIDE和配套的iOS-Tagent。

环境配置

iPadOS版本:14.2

macOS版本:10.15.7

Xcode版本:12.3

iOS-Tagent

Airtest IDE 1.2.12

不需要Apple开发者账号,普通的Apple ID就行。

这里需要注意的是Xcode版本和你要操作设备的iOS和macOS系统要匹配,这里俺找到了一个好网站,可以看到Xcode支持的的iOS SDK版本,以及最低支持macOS版本,同时支持下载。 xcodereleases.com

如果你下载好的Airtest IDE若在使用中出现闪退或异常问题,可以使用命令行终端来打开应用:

输入 $ cd /Applications 进入应用程序文件夹,

运行指令$ ./AirtestIDE.app/Contents/MacOS/AirtestIDE 即可打开AirtestIDE

安装并测试WebDriverAgent

  1. 用Xcode打开WebDriverAgent.xcodeproj,并将iOS设备用数据线连接电脑,并在弹窗中信任

用Xcode打开

  1. 在Xcode顶部product >> Destination >> 选择你的iOS设备

选择iOS设备

  1. 添加证书,按照下图的路径在Signing & Capabilities 下的Team中添加登陆自己的Apple ID

登陆添加证书

  1. 修改配置,这里我们需要修改两个地方。

先是Product Bundle Identifier,这里要求是唯一的,会进行联网检查,通常就是自己域名反写加项目名

修改唯一值

第二个是Validate Workspace,改成Yes 这一步网上很多都没写,导致后面报错运行不起来

修改Validate Workspace

  1. 启动 command+U运行Test

启动

然后你会发现iOS设备上会多出来个WebDriverAgentRunner,但是启动不起来,此时你需要去设置里信任一下才能正常工作 设置 -> 通用 -> 描述文件与设备管理 ,对应用WebDriverAgentRunner进行信任

新增app图标

接着再运行一次Test,点击左下角显示日志,看到输出如下http之类的就代表成功了 显示日志

至此,Xcode相关操作已经结束

使用iproxy映射端口

这里我们直接用Homebrew安装即可,没安装的可以参考这篇文章

brew install libimobiledevice --HEAD
iproxy 8100 8100

此时我们用浏览器访问http://127.0.0.1:8100/status ,如果访问成功并且可以看到一些json格式的手机信息,即表示启动成功。

同时你也可以试着访问一下http://127.0.0.1:8100/inspector,正常应该是可以看到iOS设备的投屏,看不到也没关系,可能是脚本没有安装完全导致的,并不会影响Airtest IDE中的投屏,所以咱们也不用管它。

Airtest IDE连接

直接输入127.0.0.1:8100 连接,看到iOS设备投屏就可以开始编写脚本了。

Link Start!

编写脚本

俺这里只是用来刷初始过新手教程的,所以基本上没啥难度,只要跟着教程流程点就可以了 代码就只用到了touch,wait,sleep,复杂流程基本没有。

代码

总结

这次尝试重点不是在编写脚本上,而是简单走了遍iOS的自动化测试流程,不过Airtest IDE用来写一些脚本确实很方便,只是奈何并没有好点的windows设备,不然多开跑脚本效率会高很多。

ps:碧蓝档案的初始真难出货, 淘宝上大多都是科技刷,不推荐购买。