微信号:gzitcast

介绍:口碑最好的java,iOS,android,PHP,网络营销,UI培训,传智播客培养的IT人才受到社会及企业的广泛赞赏和认同,就业率高居IT培训机构榜首.官网:http://gz.itcast.cn ,热线:020-23336388

微信小程序之自动化亲密接触(下)

2017-01-12 17:59 广州传智播客


下篇 —— 微信小程序测试



一、小程序分析


弄完了性能测试,我们切回主题,搞一下小程序,着手开展小程序UI自动化前,我们需要关注一下XTest是否可以轻松撸到小程序的控件


1、小程序的Hybrid控件

小程序对当前已支持的组件给出了演示程序,首先看下这些控件的真面目


 


使用XTest辅助工具对控件抓取可知,在X5 WebView内,控件也是如Android原生控件一样具有属性字段的。

E/Kat: setString=={name:SPAN,type:notFound,X:99,Y:777,X2:171,Y2:831}
E/Kat: name = SPAN;type=notFound;label=text;x=99 y=777 x2=171 y2 = 831
E/Kat: top-result:168,1016,[99,990,72,54],-2,top=[SPAN,text],valid=[SPAN,text],30000000,0,0,weight=0

E/Kat:@0%1:android.widget.FrameLayout%1:android.widget.FrameLayout%1:android.widget.FrameLayout%1:android...


例如控件的resource-id属性字段为”SPAN”; text属性字段为”text”, 以及控件的矩形坐标范围值和layout层级结构,这些数据使用XTest都可以准确获取。


2、特殊控件也可以获取到对象属性么?



    

switch、video、canvas、map等组件都可以获取到对象属性,基于这些数据,可以完成UI自动化的控件抓取。


二、小程序测试实践


1.视频接口测试


小程序演示中除了提供组件之外也展示了部分接口功能,从中抽取代表性的“选择视频”这一较为复杂用例进行测试:(接口类型:媒体--视频)



  


通过前导路径进入,当点选图片中的+控件后,进入系统相机,什么?什么!……..,XTest失控了,失控了,无法录制系统相机操作过程。Demo宣传里面提到什么跨进程,这回怎么跨到沟里去了?带着愤恨跟疑问勾搭了一下XTest开发同学,他们提到工具本身确实支持跨进程测试,前提是需要把涉及到的apk也通过他们的工具上传到手机端,给到我的具体建议是:


1)用其他相机应用替换掉默认系统相机,然后将此apk上传到手机端测试

2)采用自动化+人工交互方式


我对后者十分好奇,什么是自动化+人工?搞搞试试,于是乎根据他们的帮助还真的搞定了,具体就是在脚本里面插入一条语句:完成自动化与人工的交互过程,结束后按音量键上报测试结果,之后自动化接管任务继续执行。 看来今后测试行业也要走工厂流水线了,想想富士康工厂里愈来愈像人的设备与愈来愈像机械的人,小生不仅打了一个冷颤。

 



2.多账号分发测试


看到上图中有4台机器一起在运行,微信程序测试需要账号登录,XTest本身就支持多机联测,微信小程序登陆账号由server统一管理,在运行时下发到手机端完成登录。

 



看到图中四个账号是server端分配的唯一账号,各不相同,保证每台设备可以顺利登录,并由框架驱动多机联测。


3.联测报告展示


完成多账号分发多机联测后,就可直接在server端查看测试报告了。

 


上图是用Xtest进行多机联测后一台设备的性能数据展示。从截图可以看到当进入小程序的视频界面开始播放后(第6步),曲线图的红色线(CPU)开始斜坡上升,随着视频加载缓存(第7、8步),代表上下行流量的绿色线(NetFlow)开始陡增。嗯,还是比较符合人类宏观认知理论的。如果配合脚本的场景编写,应该很容易就可以完成压测中的性能数据收集,并根据图片手顺定位哪步操作会导致性能数据异常。


看到这里小生不仅感叹,一套免费的工具做到如此程度,夫复何求啊!



尾篇 —— 总结



经过了以上由浅入深又由深到销魂的测试过程,看似陌生神秘的小程序,在我们测试工程师的眼里变得如此熟悉与亲密。无论从性能数据获取、专项测试布局,到多机联测、多账号分发,再到最后丰富的报告结果展示,XTest仿佛早已为小程序做好了准备。这一切到底是天意还是巧合?或者干脆就是腾讯早已为我们布好了完整的局,这烧脑的悬疑已经完全超出了小编单核cpu所能承载的计算量。我只知道面对小程序测试我已经做好了充足的准备,让小程序的暴风雨来得更猛烈些吧。


阅读推荐:

微信小程序之自动化亲密接触(上)


干货:获取微信小程序源码视频资源

扫下方二维码加好友获取


欢迎大家来约小娜QQ

∨阅读原文 基础班免费学习

 
广州传智播客 更多文章 微信小程序开发环境搭建 你的Bug,我可以帮忙解决··· 微信小程序上线,程序员最关注的这三个问题 嫁给程序员的1314好处·· 程序员如何装逼,看完最后一条我也是醉了···
猜您喜欢 初窥InnoDB的Memcached插件 IBM大中华区总经理:下一代银行的特征 Supervisor进程管理器配置指南 書摘 - 鳳凰計畫 (The Phoenix Project) 三段言情戏