iOS 测试 iOS-minicap + WDA 实现 ios 远程真机测试

weamylady · 2017年09月26日 · 最后由 qingran2015 回复于 2018年04月13日 · 最后更新自管理员 Lihuazhang · 1111 次阅读
本帖已被设为精华帖!

感谢论坛上各位大神的技术贴,简单地使用ios-minicap+wda实现了ios远程真机功能,使用效果还不错,尤其是minicap的回显真是非常爽!wda的速度跟mac、iOS配置也有关系。
wda操控部分参考了论坛大神 @codeskyblue 的帖子:
https://testerhome.com/topics/8890
ios-minicap的解析参考了易寒大神 @DoctorQ 的帖子:
https://testerhome.com/topics/3115

效果看动图:

实现技术使用的是JFinal+Tomcat+WebSocket,数据库暂时没有用到,期待大家一起来完善这个项目。
另外感谢 @yxys01 进行了试用并发现了不少的坑,帮助写了个有逼格的README。

Github地址:
https://github.com/weamylady2/iOS_remote

配置步骤(By: @yxys01 ):
https://github.com/weamylady2/iOS_remote/blob/master/README.md

大家一起努力吧💪!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 30 条回复 时间 点赞

来个视频^_^,另外你GITHUB上的README格式需要改下

codeskyblue 回复

用啥工具录屏啊?我不会弄哦

codeskyblue 回复

README改了,视频不知道用啥工具TAT

codeskyblue 回复

好了👌

楼主 你又获取手机的xml么 source这个 这个接口好慢差不多要5秒 看你的平均一个操作也就1-2秒

仔细看了下你的代码 原来你是通过坐标来实现所有的操作的 挺好的 这样性能确实会快很多
但是我现在做的步骤是获取xml,获取鼠标点击坐标然后根据xml获取当前元素的所有属性id,name啥的
然后调用findelement获取elementid继续操作 因为我们这边的自动化写作人员 需要知道这些 然后自动填入
控件库

Lihuazhang 将本帖设为了精华贴 09月26日 13:49
pliue 回复

你做的这个是录制功能吧,这个我感觉用处也不是太大~~

weamylady 回复

主要是 自动化编写人员 要知道对应的控件属性 不然他也写不鸟用例 所以只能牺牲一点性能

weamylady 回复

我之前也看过这个 我现在做的比这个的功能要多 而且这个项目的关于元素的定位有点问题
WDA在获取source的时候实在是太慢了 但是xctestwd很快 所以我现在选的xctestwd
非常感谢

pliue 回复

有兴趣的话一起维护这个项目呀,帮忙加一下元素定位页面进来- 3-

weamylady 回复

可以呀 但是如果要获取元素的话 那么就要获取手机的xml wda这块比较慢 严重的影响性能

碉堡了,马了去实践下!

你这个可以输入中文么 老哥

pliue 回复

还不行啊,一起来维护呀~~ 问题还是很多的,需要大家的力量!

weamylady 回复

这里给出两种解决办法 我写到csdn上了
1.http://blog.csdn.net/zy841958835/article/details/77371183 第3点 这是我第一次尝试

pliue 回复

XCTestWD的接口跟WDA一样吗?有啥区别?

weamylady 回复

两者的编程语言不一样(所以性能不一样) 接口都差不多 主要是请求的url有点区别 差别不太大
还有一个就是xctestwd默认是没有session可以建立一个不依赖app的session

pliue 回复

Xcode9支持了吗?

weamylady 回复

wda 据说已经支持了 xctestwd 应该也支持了 不过我现在还没有升级xcode

楼主,这个怎么加入多台手机?

感觉这个项目可以用在ios手游上的测试,之前在安卓平台搭建过类似程序

zhangbp 回复

我们没有手游的需求~所以没试过哦。

weamylady 回复

亲, 你们有没有一台控制多台终端的尝试? 心跳包怎么处理的? 有没有断线重连?

zhangbp 回复

试过ios-minicap不能支持多台手机,断线重连没有做哦!基本上ios-minicap增加一定的延时之后稳定性还行,运行几个小时没问题。

可以连上手机,HOME有效,可以用BUNDLE ID打开APP 其它的就不能用,是什么原因,怎么解决呀大神

Amanda_LHY 回复

好像遇到过,应该是session id没有及时更新?你看看网页有没有报错,另外看看WDA的日志有没有收到命令。

XCODE 中的 WDA的日志可以收到命令,就是可以拿到手机的IP,那session id在哪里更新

我有个疑问,就是进入设备详情才开始启动wda,minicap,能不能在项目启动的时候事先启动这个,这样进入设备详情以后是不是会快一些

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