流马开源已有大半年,目前有多家公司或团队已经在内部落地使用了,不少用户都咨询作者何时上线 APP 测试。作者原计划去年底发布,中间因为私事耽搁,直到今天算是正式发布 1.1 版本,本次更新内容将在下面详细介绍。
之所以称之为设备管理而不是云真机,是因为云真机所需要提供的能力太多,而目前 1.1 版本的设备管理仅仅提供设备挂载、远程投屏、在线操作、控件元素以及用例调试,离云真机之能力相去千里。未来流马也不会在云真机能力上投入太多,一来本平台主要定位于提供更便捷易用的自动化测试能力,二来云真机方向已有太多优秀的开源或商业项目。
APP 测试的驱动主要基于 ATX 提供的 UIAutomator2 和 Facebook-wda 库,在此先感谢 ATX 组织的无私开源。之所以不选择 appium 这个更主流的框架,主要因为该项目过于沉重,不便于用户搭建环境,与流马轻量级架构相悖。另外一点是 ATX 的库更方便二开,为后续不断扩展新能力提供更多可能性。
同时,与 web 测试相同,采用低代码模式编写测试用例,让更多的人参与到自动化测试建设中来。此外,平台提供自定义操作组件的能力,无需二开平台就可以完成很多自定义的功能,让懂代码的人能做更多的事情。另外提一点,APP 用例支持与其他类型的用例在同一测试套件中顺序执行,结合 API 用例的便捷造数能力和数据回收能力,让 APP 测试用例设计更加方便。
本次更新新增了除平台和引擎端的另一个项目,即设备挂载端,主要代码继承于 atx(源码文件中注有版权声明),在此基础上做了一些删减和增强,如安卓投屏替换为 scrcpy 等。设备挂载项目既可以用来服务器上搭建机群,也可以轻松本地 win/mac 启动,只需拥有 python 和 node 环境即可。
题外话,秉持着服务于中小企业做自动化测试的原则,搭建大型云真机机群的所需投入成本过高,反而去中心化的方式我认为更适合利用起来闲置手机,设备即插即用做测试,更为灵活。当然这些仅作为我的个人看法,欢迎一起探讨。
本次迭代做了一些持续集成的功能,主要包括以下三点:
1.1 版本拖更有几个月,在此期间做了很多增强和优化功能,例如:
当然还有很多优化功能和易用性的小点,这里不做赘述。其实很多小的功能点都来自用户建议,作者都在第一时间进行评估和落地,流马的架构可扩展性很强,欢迎更多的人参与进来,无论是提供建议还是提交代码。
附上流马官网地址、演示平台地址以及源码地址,欢迎用户体验,如有部署或使用问题可查看官网手册,也可在官网社区提问交流。当然也欢迎大家加入微信群,一起交流技术问题。群聊二维码在官网最下方,定期更新。最后,希望大家能在 github 点点 Star 给予支持,感谢!
官网地址:流马官网
演示地址:演示平台
源码地址:GITHUB