Airtest icon indicating copy to clipboard operation
Airtest copied to clipboard

airtest 如何 ios 设备多设备调试

Open zhanwufeng opened this issue 5 years ago • 13 comments

你好,请问airtest 如何 ios 设备多设备调试,谢谢

zhanwufeng avatar Mar 15 '19 03:03 zhanwufeng

与android连多设备是一样的,没有本质上的区别。 如果你的问题是指:有一个脚本,里面用到了2台手机,我需要在脚本中让他们进行交互操作,可以参考文档,将android替换为你的ios设备的连接即可,如果不会写的话,可以先用IDE连上你的设备运行一次脚本,log窗口里会有自动生成的--ios IOS://xxxx/ 代码可以借鉴。 如果是单个脚本,想在多台手机上面同时分别跑,可以参考这个项目示例

yimelia avatar Mar 15 '19 08:03 yimelia

@zhanwufeng 请问一下你的ios执行多台手机实现了吗?我这边xcode build分别build两台手机可以成功,但是iproxy 8100 8100只能和一台手机建立连接,最后只有一台手机执行起来,所以咨询一下你有成功的案例请指教一下,谢谢

jeniva avatar May 31 '19 06:05 jeniva

目前iOS-tagent 是固定了手机端的 IP 端口,所以一台mac只能控制一台手机

iproxy 8100 8100

这个命令的前一个端口是电脑的8100 端口,后者8100 是手机的8100端口 所以如果想做iOS多设备,只能一台Mac连接一台手机,最后用一台手机远程访问他们的IP

但是有一点需要注意,就是IDE一次只能连接一台iOS设备,要做iOS多机运行,需要自行写运行脚本,可以参考这个例子 https://github.com/AirtestProject/multi-device-runner

yimelia avatar May 31 '19 06:05 yimelia

这个一台mac对应多台iphone的功能能不能尽快帮忙实现一下?目前通过命令方式执行,iproxy端口号必须是8100,能不能动态设置,不动手机通过端口号不同进行对应?不然一台mac一台手机太费电脑了。

jeniva avatar Aug 20 '19 08:08 jeniva

建议提供一个多台iOS设备连接的方案,端口写死这个对程序设计来说太不合理了,而且是有很多实用场景的, macaca也能支持多设备

skyweaver213 avatar Aug 28 '19 12:08 skyweaver213

@skyweaver213 现在工作任务多,过段时间就研究

EraChen233 avatar Aug 28 '19 13:08 EraChen233

请问一下mac连接多台ios设备的方案你们开始做了吗?目前我们一台mac只能跑一台手机有点不够用呢,还请你们有空的话把这个功能实现一下,谢谢。

jeniva avatar Nov 21 '19 02:11 jeniva

有后续了吗?

xin7c avatar Nov 17 '20 07:11 xin7c

蹲个后续

shuiming-he avatar Mar 09 '22 11:03 shuiming-he

有进展了吗?

xiaojielade avatar Mar 24 '22 07:03 xiaojielade

可以结合tidevice使用跑多台的,开多个进程和端口。。。

jeniva avatar Mar 28 '22 08:03 jeniva

请问现在支持MAC多台控制了吗? 还是写死了端口号吗?时间点:2022年07月18日19:44:51

luck-dyl avatar Jul 18 '22 11:07 luck-dyl

不是吧不是吧,都2023年10月了还有人不会一台pc连接多个ios设备? 教程如下: 1.把wda或者iOS-Tagent刷进设备 2. 执行python -m tidevice list: 结果 UDID SerialNumber NAME MarketName ProductVersion ConnType 4281dfc2ee581e354ccb2f8ab8b69934a1bea724 G0NVXYQ3JCLG iPhonex iPhone X 16.6.1 usb PS C:\Users\happyelements> python -m tidevice applist com.happyelements.Sakicn 偶像梦幻祭2 1.20.4425 com.ownbook.notes 爱思全能版 2.2.0 com.webank.kycdemo 腾讯云慧眼 2.0 com.facebook.WebDriverAgentRunner.xctrunner WebDriverAgentRunner-Runner 1.0 com.happyelements.sakius Ensemble Stars Music 1.20.4432 com.happyelements.vband-mgdemo MusicGameDemo 0.1.0 com.happyelements.1OSAnimal 开心消消乐® 1.126.70 com.alipay.zimdemo.simple111 刷脸认证Demo 2.0 com.happyelements.IOSCloverInHouse Clover 1.78.14413 com.facebook.Facebook Facebook 421.0 3.启动wda 通过use_port 指定端口 python -m tidevice xctest -B com.facebook.WebDriverAgentRunner.xctrunner -e USE_PORT:8101 ### 这里执行到wda 包名要执行你自己设备上的wda 4.python -m tidevice relay 8101 8101 把刚才设备上启动的端口转发到pc上。这时候访问http://localhost:8101/, 可以看到wda服务的输出,此时连接就ok了 5.如果需要poco操作比如unity 执行python -m tidevice relay 5001 5001

如果有更多的设备重复上述操作。 这个核心其实就是把手机本地启的服务转发到pc上。

这谁要还是不会我笑话它一辈子哈哈哈

ghost avatar Oct 07 '23 09:10 ghost