自动化工具 MAT:远程测试机&自动化调试执行机之 web 平台

yca · 2018年07月08日 · 最后由 promise 回复于 2020年01月08日 · 3696 次阅读

写在最前面

一直以来移动端自动化都是在本地调试本地执行,后来发现 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 模块各位作者大大分享的资料,就不一一列举了,再次感谢!!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
最佳回复
yca #1 · 2018年09月22日 Author

算了,我抽空提交到社区的开源项目中吧,后面再出一篇解释的文章好了。

共收到 19 条回复 时间 点赞

期待大神的开源😁

yca #2 · 2018年07月17日 Author
cortana_x 回复

都沉了…胸弟…我不是大神,互相交流的说,周末我努努力,争取开源和再出个帖子。



想问个 stf 的问题,我尝试这样连接,但是后台没有显示设备,也没有 control,日志也只显示了手机设备号

yca #4 · 2018年07月17日 Author
letme 回复

应该去 STF 专区问吧,我不晓得哦,没装过 STF,不太了解。我就是看不懂 STF 的源码才搞的这东西🙃

大神,何时能开源啊,坐等

6楼 已删除
yca #7 · 2018年09月13日 Author
PandaHuang 回复

帖子都沉了,就不开源了,私发给我你的 QQ,我单独发你源码。

可以提交到社区开源栏目,让大家围观和试用啊 @yca

仅楼主可见
10楼 已删除
仅楼主可见
仅楼主可见
yca #1 · 2018年09月22日 Author

算了,我抽空提交到社区的开源项目中吧,后面再出一篇解释的文章好了。

yca 回复

好的 支持 iOS 吗

yca #15 · 2018年09月22日 Author

不支持 ios,社区有人做过,你可以搜下 ios-remote,好像是这个名字,

仅楼主可见
yca #17 · 2018年09月25日 Author
peter 回复

最近在开发重要组件,开发结束后会重新整理然后提交到社区开源栏目,稍等吧。

大神啥时候开源

yca #19 · 2018年10月14日 Author
大大国 回复

最近在开发配套 app,等下吧,有点忙,一个人会慢点,回头开源路会再出帖子介绍源码。

yca MAT: 深入探讨远程真机的 python 实现以及开源 中提及了此贴 11月25日 16:28
yca MAT:安装及操作指南 中提及了此贴 11月27日 22:33

老兄可以找你定做个 APP 吗?远程触摸的

请问大神,后端用 django 实现,前端和数据库 分别用的什么

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