测试手机性能的网站(手机毒蘑菇volumeshader测试)
罗年洁
携程系统研发部门高级测试工程师,主要负责测试工具开发,对API/UI/Mobile测试有深入了解,同时负责测试框架的维护。
本文从以下几个方面介绍下我们的CAP工具:
一.CAP架构及原理
二.CAP实现
三.使用现状
CAP架构及原理
Ctrip Automation Platform是一个面向全公司且提供统一设计模板的自动化测试平台,主要以java开发,基于TestNG、Appium构建,AngularJS做前台;Maven管理Project 、Jenkins作为持续构建工具;主要分为Mobile、UI和API三个CI环境。
主要架构图为:
CAP实现
APS(Automation Platform as Service)是我们前台展示页面,用户登录上去可以创建新的project,即发送一个MQ,在执行消息对列时,会在集群机器中,创建一个Git Repo,clone template,授予用户权限,同时调用Cap-api创建一个CI project,创建完成后,用户clone项目到本地然后按照模板来编写case,最后在CI统一管理,在Slave集群上调度机器执行,这些创建和执行记录会保存在DB中,APS会在前台展示这些数据信息。
APS前台界面提供三个自动化入口和一个benchmark入口。benchmark只要是做手机性能测试,用户只需提交APK包或者APK的链接,即可执行性能测试,同时还提供竞品包测试和渠道包测试。自动化测试是以BU、项目和用户来进行管理的,同时API提供了录制回放功能。
以创建Mobile测试为例,我们支持android和IOS,语言支持Java和C#,用户可以根据自己的喜好来创建项目。
创建完成后,会自动关联Git Repo和CI,用户只需要在git上download项目,根据提供的模板,来写case,然后上传到上传的git,CI可以指定定时执行,来运行用户的Cases。
此图显示的是近期运行的结果,用户可以在APS上触发执行,在页面上能看到所有的运行汇总,并且显示最后Pass/Fail/Warning的个数,并且点开log,可以查看详细的log信息。
后台管理页面的主要作用:
查看CI调度执行情况
统一管理执行报告,查询执行日志
发布RUN Job的增删改查
关联Testrail用例,实现Testrail Case自动化
Slaves集群查询及管理
KPI数据统计
覆盖率报告
记录TS
对报告的一些改进
分析报告比较耗时:
进入链接里拉到最底部才知道报错原因
需要手工操作与人工统计
如85条失败case,review并记录失败原因需要花>1h.
直观的看到报错原因,会节省一半以上时间,需要快速获取cases的报错信息并按错误分类。
我们采取如下作法来表示log:
a.爬取执行Log;b.对log进行分类标识; c.每条case执行完,即分析报错原因 ; d.现获得18个报错类别。
最后分析的报告如图所示:
使用现状
CAP的规模:
欢迎留言交流或投稿,和我们一起分享知识。