Airtest连接iOS

时间:2024-05-22 18:23:33

Airtest是一个基于图像识别的UI自动化平台

1.下载并编译iOS-target

ios-target基于webdriver,并对适用airtest进行了定制,并删除了不必要的内容。

下载地址

我下载的是ios-target_master.zip文件,解压后将文件夹重命名为ios_target

2.用xcode打开这个文件夹,然后用类似wda的编译方法,连接手机到mac,

3.修改target中的配置,这里需要改动的内容有两个,1)在signing中选择开发者的team,

2)在target-info中找到Bundle Identifier,并进行修改

Airtest连接iOS

上图中的id需要自定义个,常规做法是在Runner后加一些自己的内容(例如target,因为私人开发者有id数量限制,建议每修改一次id,在笔记中做下记录)

 

 

4.在xcode中编译

product -> Scheme -> WebDriverAgentRunner

product -> Destination -> iphone(这个是我自己的手机)

然后product-test运行,这是会在手机上装一个webdriveragentrunner-runner的没有图标的应用

5.连接手机到Airtest

1)安装libimobiledevices

brew install libimobiledevice

2)iproxy 8100 8100

3)在xcode中Airtest连接iOS

显示debug Area,并在调试信息中查看手机的ip,ServerURLHere->http://xxx.xxx.xxx.xxx:port<-ServerURLHere,拿到ip之后在浏览器输入http://ip:port/status(这里有个问题Could not load IOSurface for time string. Rendering locally instead)解决方法可以参考https://www.jianshu.com/p/ccc4a12a253c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

Airtest连接iOS

6.inspector

看到这个界面说明连接成功了,试下inspector

Airtest连接iOS

7.因为airtest默认不支持像安卓那样实时显示屏幕所以要下载wdaproxy

https://github.com/openatx/wdaproxy

8.安装wdaproxy

从名字看是一个wda的代理

brew install openatx/tap/wdaproxy

9.获取手机uuid,通过itunes可以查看到uuid

然后运行

wdrproxy -p 8100 -u +上文中的uuid

10.在AirtestIDE 中iOScontent的输入框中输入步骤5中的ip+端口,点击content,

Airtest连接iOS

以上就是Airtest连接iOS的配置,欢迎加我好友一起讨论。