一直以来移动端自动化都是在本地调试本地执行,后来发现 STF 后被它的远程控制手机的操作闪瞎了双眼,想修改 STF 支持远程自动化调试及执行,奈何我太弱了 (实在看不懂 ),遂放弃此路,尝试其他方向,后来就有了 MAT 平台...
MAT 代码分析:MAT: 深入探讨远程真机的 python 实现以及开源
MAT 安装操作指南:MAT:安装及操作指南
开源地址:open-MAT
MAT 是个人定制版远程 Android 功能测试机及自动化调试执行机,我们都知道 STF 框架,社区也有大量文章介绍,在这里我就不赘述了,MAT 引入 openstf-minitouch minicap 让 MAT 能够像 STF 一样在 web 端操控测试机,重构集成 UIAutomateView 至 web 前端,使大家可以在 web 端轻松查看元素、调试编写脚本,集成 celery/redis 异步任务队列,使 Django 具备强大的异步多进程能力,实现多人同时使用不同的测试机,总结一下:MAT 是一个小型定制版远程功能测试机以及远程自动化调试执行机平台。
1、页面展示
MAT 只有一个页面,故大量采用 ajax,websocket 等前端技术,一个人搞精力有限没有考虑兼容性问题,所以墙裂建议使用 chrome 浏览器;
等待使用时,web 页面干净吧 (我有强迫症...必须干净):
调试脚本时 (点击 View,后台会获取并分析当前设备 xml,生成 ul li 结构展示在前台,点击 li,投屏画布里会有红框闪动一次提示元素位置,并获取元素详细属性,显示在下方,用法同 AndroidSDK 的 UIAutomationView):
2、操控效果
支持滑动,点击,输入,长按等常规操作,采用监控鼠标键盘动作来触发,使 web 页面干净 (我有强迫症...必须干净),使用便捷;
完全可以在 web 端做功能测试,以拖动举例 (GIF 显示不好,效果参考 STF 操控手机):
3、查看元素详情效果
支持点击 tree 元素红框标出元素,以操作流程举例 (举例页面选的太失败了,请注意图例最下面的两个元素):
4、脚本运行效果
图片是以 RF 执行脚本举例:
1、必须搭建在 MAC 下
2、Python 2.13 & Django1.11
3、node 环境以及所需模块 (如 ws 模块等)
4、celery 4.1 & redis 3.2
5、Appium 1.8
6、高性能 USB-HUB(最好是独立供电 USB 2.0 的,详情参考 STF 的 USB-HUB,社区有推荐)
项目已趋于成熟,目前已在公司小范围试用并逐步扩大覆盖功能测试项目;关于开源:最近太忙了,接了开发同学的前端开发任务,预计会在最近两周抽时间去除敏感信息并开源,开源后会再开贴解释关键代码,希望感兴趣的小伙伴持续关注,谢谢大家,谢谢亲能看到这里,我文笔实在太烂了。。。
感谢社区 STF 模块各位作者大大分享的资料,就不一一列举了,再次感谢!!