Appium Alpaca 移动端 UI 自动化测试平台

wiggins · 2019年01月09日 · 最后由 wiggins 回复于 2019年01月21日 · 610 次阅读

前言

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

平台介绍

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

整体架构

  • 开发语言与框架:python3.6 + Django2.0 + mysql + js
  • 底层运行引擎:appium1.7.1
  • 运行方式:rabbitmq异步运行
  • 测试报告:extentReports
  • 运行设备:真机
  • 手机代理server:anyproxy

界面功能展示

Dashboard

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

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

项目管理

项目列表

添加项目

页面管理

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

添加页面

元素管理

元素列表

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

用例管理

用例列表

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

套件管理

测试套件列表

添加测试套件

定时任务

定时任务列表

添加定时任务

环境管理

运行环境列表

添加运行环境

资源管理

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

上传资源

设备管理

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

系统设置

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

报告管理

报告中显示执行成功率

报告详情

日志管理

日志列表

日志详情

关于开源问题

这个项目肯定最后要开源给大家的,但是现在项目刚刚写完,还需要大量的测试。单从代码质量这个角度,还需要重构一次。预计19年5月左右能做到开源。希望大家关注一下,并给予更多的意见,万分感谢。

  • 联系qq: 2406412038
共收到 14 条回复 时间 点赞

java还是python的?

linlang 回复

python3.6 + django + mysql + js

wiggins 回复

期待开源

您好,哪里用到rabbitmq了?

用例系统很不错

期待开源

Ender 回复

运行测试套件用的rabbitmq

simple 回复

谢谢关注

枫叶 回复

会开源的

linlang 回复

🌝 支持开源。

Pangluo 回复

ok

谢谢!

—— 来自TesterHome官方 安卓客户端

wiggins · #14 · 2019年01月21日 作者
仅楼主可见
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册