来这里找志同道合的小伙伴!
提到移动端自动化测试就不得不提及目前几大开源的移动端自动化测试工具/框架,主流工具有Appium、Athrun、Robotium、UiAutomator、Monkey、Selendroid等。尽管有这么多开源框架,但在实施移动端自动化测试时,仍然面临着众多问题,以下列出几个常见问题:
针对这些问题,JMAC将自动化测试流程化、平台化。
JMAC针对以上提到的一系列问题,对移动端自动化测试做了一系列流程处理、分布式调度、真机/测试账号分发、测试结果的分析的实现。之后会陆续开放远程真机、远程调试、在线编写测试脚本、安全扫描及性能检测,还有对H5和小程序的自动化测试支持。
JMAC整体架构图:
JMAC整体规划:
本文讲述JMAC的实现原理和调用执行流程。JMAC主要分为服务端、客户端、真机端三大部分。
主要功能模块如下:
底层实现架构:
首页-模块:
用例管理-模块:
对项目用例进行版本划分、模块划分、用例组装等操作。
测试执行-模块:
用户自定义创建测试计划、测试任务,系统分布式调度客户端,执行自动化测试用例;与持续集成系统打通直接获取测试包地址,配置定时任务,执行后查看/发送测试报告。
客户端主要包含真机识别、真机同步、环境配置/设备分发、调度执行功能。客户端基于JAVA SWING编写,内部集成android sdk、svn、appium等功能。真机同步通过实时对USB连接设备的监控将最新在线设备信息同步至JMAC服务端。调度执行通过前端执行时选定的PC及设备参数将调度任务分发至各客户端进行自动化测试。
底层实现架构:
Agent-模块:
支持操作系统:
部署客户端环境,开启客户端服务,将本地真机加入云真机库;实现将本地资源共享,远程调度资源,定时执行任务;不必因设备型号匮乏而担心兼容性测试不够全面。
1、脚本:Android和IOS脚本框架都基于TestNG框架JAVA语言编写,底层封装智能等待,截图,CPU监控用例结果、log日志回传、图片回传等驱动方法。
2、App:真机设备(非root)安装JMAC的app实现项目安装时自动允许安装操作以及实现远程真机共享功能。
运行速度:1分钟/用例
支持系统:
运行效果:
真机远程调度执行。测试结果实时更新,问题进度一目了然。告别混乱无序的测试管理,确保产品质量可控。真机端安装辅助服务实现自动允许安装程序,自动点击系统级权限弹框以实现无需人工手动干预手机的APP自动化测试。
测试结果展示至JMAC,概览与详细报告如下: