前言

曾经作为测试小白,苦于寻找能够稳定简单进行 UI 自动化测试的工具平台。但开源项目少之又少。社区里也没有良好的解决方案。年初,受到几个开源项目的启发,萌生了干脆自己开发一个自动化测试平台的想法。18 年 7 月份开始立项目。经过需求评审、软件设计、代码实现、测试、发布等阶段,到如今,项目完成经历了半年的时间,终于完成。作为社区一员,想把这个平台分享给大家,为社区发展贡献一份力量。

平台介绍

  1. 支持项目、页面、元素和用例添加、编辑、删除
  2. 支持测试套件的维护、运行
  3. 支持定时任务触发
  4. 漂亮的报告展示,快速发现失败的用例
  5. 支持运行时日志查看
  6. 支持 anyproxy 代理
  7. 异步运行测试套件
  8. 支持环境、资源、手机设备、系统配置管理

整体架构

界面功能展示

Dashboard

Dashboard 主要是展示平台基本报表,项目套件/用例数量报表与项目运行平均成功率

任务运行列表与平台 cpu/内存监控

项目管理

项目列表

添加项目

页面管理

页面列表,页面是第二级单位。每个项目包含多个页面,每个页面中又有多个元素。

添加页面

元素管理

元素列表

添加元素,元素定位方式使用的是 UIAutomator 中的定位方式,暂时包括 text、description、resourceId 三种定位方式

用例管理

用例列表

添加用例,必要步骤的意义在于,如果找不到此元素,就立刻停止这个用例的执行并将用例置为失败。如果是非必要步骤,那么如果次元素出现就对其进行操作,如果没有出现,则跳过此步骤继续向下进行

套件管理

测试套件列表

添加测试套件

定时任务

定时任务列表

添加定时任务

环境管理

运行环境列表

添加运行环境

资源管理

资源列表,资源可以理解为测试中需要用到的各种文件。列表中包括:处理权限用的 jar 包、anyproxy 代理 rule.js 文件和测试包

上传资源

设备管理

设备要设置代理,列表中 8003/8005/8007 分别是 3 个设备的代理。平台使用 anyproxy 代理访问网络,代理服务器为运行服务器。不可以使用一个代理端口,因为平台每次运行完成测试就会杀掉 anyproxy 服务。

系统设置

系统设置详情中截图存放的位置是项目中 static 静态资源的相对路径,这样在测试报告中就可以直接访问测试截图

报告管理

报告中显示执行成功率

报告详情

日志管理

日志列表

日志详情

关于开源问题

源代码:https://gitee.com/wiggins_evan/alpaca


↙↙↙阅读原文可查看相关链接,并与作者交流