前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FAT(Fast-AutoTest) —专业服务于微信H5/小程序UI自动化测试

FAT(Fast-AutoTest) —专业服务于微信H5/小程序UI自动化测试

作者头像
腾讯移动品质中心TMQ
修改2018-05-23 15:46:51
4.3K3
修改2018-05-23 15:46:51
举报

背景

随着项目的发展,许多项目中H5(特别是微信平台内)以及小程序占比逐渐增多,因此快速建设相关的自动化来提高项目的效率和质量成为了许多项目中的重中之重。

然而目前市面上能完美支持微信H5和小程序测试的测试工具是缺失的。因此我们展开了求索之路,并且成功研发了FAT框架,来解决这个难题。想了解我们是如何解决H5/小程序UI自动化测试难题的看官们,请听我慢慢讲来。

调研之路

首先团队先对市面上流行的测试工具,包括Uiautomator、Appium进行了快速的调研,调研结果如下:

其中Appium看起来是支持H5的,可是在实际操作使用中,切换页面需要重新建立chomedriver通信,控件识别耗时长,稳定性差,严重影响自动化的维护成本,而小程序更是无法支持。

调研的结论让人沮丧,现有工具都不能很好的支持小程序测试。俗话说只要思想不滑坡,办法总比困难多,没有什么可以阻止我们前进的道路!终于在一篇文章中得到了启发,关键技术点的就是—Chrome debugging protocol。

撸起袖子加油干在得到关键信息之后,团队决定自己开搞,立志于提供微信内H5/小程序UI自动化的统一解决方案,于是,FAT(Fast-AutoTest)诞生了!框架整体采用分层设计,API设计方式参考WebDriver,框架如下图所示。

User Interface(用户交互层):提供给用户所有的界面操作API(H5界面及小程序界面),使用者不需要关注框架内部实现,只需要关注自身业务逻辑流程(手工用例流程转换成自动化流程)。

PageOperator(操作解析层):主要用于接收和解析用户命令后传递给下层Engine层Engine( H5&小程序引擎层): 将用户命令传输到手机,并返回结果信息。封装WebSocket和单线程池,通过WebSocket Debug URL和浏览器内核建立链接,发送Json格式的协议到手机端进行用户指定的操作。

搭好了架子后,开始逐步填充功能,调试,优化,FAT(Fast-AutoTest)框架的内容也逐步越来越丰富和完善;并且在团队内的多个产品中进行验证和打磨,不断提高框架的易用性和稳定性。

我们的优势

(1)全面支持微信H5页面,能识别常见H5控件,能获取页面任意内容(常见的如文字、图片、链接等);

(2)全面支持小程序内控件识别,操作,页面内容获取等;

(3)支持基础的性能测试监控;

(4)支持安卓Native页面组合操作使用;

(5)简单的API设计,使用门槛低;

(6)提供日志等级开关,方便调试定位。

与业内工具对比如下:

那么如何选择适用于自己项目的工具呢?

如果自动化测试的重点主要是在web页面测试,如手机chrome页面测试或微信页面测试,自研FAT框架在稳定性、易用性还有兼容性会更出色;如果自动化测试的对象是Hybird App,主要集中于Native界面的测试,兼顾web页面测试的话,使用Appium会更合适。

团队收益

1、使用框架,能快速完成用例到脚本的转化。快速上手,编写简单,即使是没有编码经验的同学也很快学会,我们团队的手工测试的外包合作伙伴经过一个用例的练习后,就能独立完成编写和调试工作,基本功能用例能逐步自动化代替,节约回归时间。

2、初步做过编写脚本时间估算。单个操作步骤用脚本实现花费约40s(打开页面5+Chrome抓控件5s+找目标控件Xpath 15s+写脚本15s),一条10个步骤的用例,用脚本实现时间400s,一次编写,终生可用,投入产出比还是不错的。

3、经过在团队内各产品的逐渐铺开使用,在效率和质量上都有逐步提升,相关页面覆盖度也在逐步完善中。

如何获取FAT呢?

目前我们的工具正在走开源的流程,不久之后大家就可以免费使用FAT了,大家敬请期待,多多关注TMQ的相关资讯。

关注腾讯移动品质中心TMQ,获取更多测试干货!
关注腾讯移动品质中心TMQ,获取更多测试干货!

版权所属,禁止转载!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 调研之路
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档