腾讯TMQ在线沙龙回顾|FAT——专业服务于微信H5/小程序UI自动化测试

活动介绍

TMQ第四十六期在线沙龙分享活动圆满结束啦!

本次分享的主题:FAT——专业服务于微信H5/小程序UI自动化测试

共有295位测试小伙伴报名参加活动。

想知道活动分享了啥吗?

请往下看吧!

嘉宾

郑铮铨:腾讯测试开发工程师,目前主要负责应用宝、手管的插件及工具开发,自动化测试等。在Android开发及工具开发方面有一定的经验。

分享主题

FAutoTest框架的基本概述

FAutoTest框架的前期准备

FAutoTest框架的使用及遇到问题如何解决

问答环节

1、只支持python2.7么,之后有没有考虑python3?

答:FAutoTest目前是处于成长中的框架,当前仅支持python2.7.x版本,关于python3目前在规划中。

2、可以支持其它语言么,在ios上可否使用,使用时手机需要root吗?

答:目前只支持python语言,ios因协议不同无法使用,使用时无需root。

3、小程序怎么找xpath?

答:手机通过USB连接电脑,采用源码assert目录下提供的微信6.6.3版本,打开微信调试模式,然后手动建立电脑与手机之间的连接(可按视频中小程序手动建立连接的方法或者文档提供的方法),连接成功后在chrome-inspect,然后找到自己的小程序,然后选定控件,右键进行copy xpath即可;注意微信在最新版本中唯一入口可从搜一搜查找指定小程序,再进入小程序中才可在chrome-inspect中显示。

4、lauchWXView()这里的点击通讯录,或者点击发现等这个底层实现是怎么样的,是将微信的xml dump下来,然后找到坐标的?还是什么方法呢?

答:这里利用业界已经相对成熟的方案,uiautomator能提供对应的查找控件并进行点击的API,具体可参考Github描述。其底层实现应该是利用android内部提供的AccessibilityServices机制,从而实现快速定位。具体可看对应的介绍:AccessibilityService。 5、查找微信的pid能不能同时支持双开或者企业微信?目前有项目是在企业微信里,今天试了一下貌似不行,是因为企业微信不是X5内核吗?

答:可以,可以尝试按以下步骤进行修改即可使用:第一步,修改_ADB_FIND_STR_CMD里面获得指定App进程号的方法,如企业微信是com.tencent.wework等,其它类x5内核类似;第二步,修改fetchWeixinToolsProcessPid里面的方法,使其连接上你所要fetch上的上面获取的那个进程号即可。 6、我需要get href的内容要怎么自定义方法?

答:我们在github上提供对应的API,可以查看APIS的操作说明。定义get href的内容可以使用getElementSrcByXpath(self,xpath) 或者getElementByXpath(self, xpath)方法,关于更多lxml的操作方法可见:lxml。

7、如果遇到需要上传照片或者文件等调用等非H5的流程,框架如何处理呢?

答:框架提供扩展功能,根据自己业务需要扩展相应的API;如上传图片这种与测试流程没有强相关的功能,可以在指定框架的测试模块(H5/QQ/WX)的用户交互层代码扩展API,不过最好建议自己独立成一个公共模块组件扩展,利用request即可独立完成上传图片操作。

8、使用uiautomator怎么定位webview里面的元素?比如微信搜索小程序的搜索结果页

答:uiautomator提供丰富的api,具体可访问uiautomator,比如我们可利用d(text=“xxx”).click()来进入微信小程序搜索页。

9、框架时使用时最需要注意什么吗?

答:环境adb的配置以及微信使用时要记得打开调试功能,很多问题很多是由于环境配置以及微信没有打开调试功能引起。

沙龙视频

手机扫码下载PPT


长按指纹识别图中的二维码,获取更多测试干货分享!将我们公众号置顶 

 不会漏掉我们的原创干货哦!

原文发布于微信公众号 - 腾讯移动品质中心TMQ(gh_2052d3e8c27d)

原文发表时间:2018-10-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java思维导图

微服务设计我们需要考虑哪些要点?

作者:刘超,毕业于上海交通大学,15年云计算领域研发及架构经验,先后在EMC,CCTV证券资讯频道,HP,华为,网易从事云计算和大数据架构工作。

1520
来自专栏hadoop学习笔记

详谈分布式系统缓存的设计细节

在分布式Web程序设计中,解决高并发以及内部解耦的关键技术离不开缓存和队列,而缓存角色类似计算机硬件中CPU的各级缓存。如今的业务规模稍大的互联网项目,即使在最...

1364
来自专栏

记录服务上线一年来的点点滴滴

2015年12月,也就是在一年前,开发了半年的云存储服务上线。这对于付出了半年努力的我们来说,是一件鼓舞人心的事件。因为这个服务在我们手上经历了从0到1的过程。...

2025
来自专栏北京马哥教育

性能调优概述,这是一篇最通俗易懂性能调优的总结!

精彩早知道 作者概述 什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) ...

5305
来自专栏Rainbond开源「容器云平台」

云帮社区版5月升级,全面支持后端服务高可用,修复了若干Bug

1473
来自专栏非著名程序员

关于Android中设置闹钟的相对比较完善的解决方案

? 前些时候,有人在我「非著名程序员」公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧...

43010
来自专栏Android群英传

沪江学习Android端重构实践

923
来自专栏架构师小秘圈

淘宝高可用高伸缩高性能框架之实现

一,应用无状态(淘宝session框架) 俗话说,一个系 统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存...

4868
来自专栏小黄人打代码

你想拥有自己的微信公众号吗?戳这里

1764
来自专栏顶级程序员

谈谈互联网后端基础设施

作者:飒然Hang 原文:www.rowkey.me/blog/2016/08/27/server-basic-tech-stack/ (点击文末阅读原文即可...

4396

扫码关注云+社区

领取腾讯云代金券