内容简介:本文首发于 TesterHome 社区,为在兼容性测试中,对于一个 App 进行兼容性测试,包括安装,冷启动,热启动,卸载四个步骤,在这四个步骤都正确的情况下,才确定 App 兼容这款手机。
本文首发于 TesterHome 社区,为 360QA 团队对于智能化测试实践新探索,值得参考!
01 背景
在兼容性测试中,对于一个 App 进行兼容性测试,包括安装,冷启动,热启动,卸载四个步骤,在这四个步骤都正确的情况下,才确定 App 兼容这款手机。
在国内,Android 手机的型号,品牌有很多,各个品牌厂商封装代码不同,给兼容性测试带来了很大的影响,尤其在 Android6.0 以后,Android 为了用户安全引入权限弹框,Android8.0 以后 OPPO、ViVO 等手机需要用户输入账户,密码才可以安装,为确保兼容性测试的正确执行,需要引入一种辅助处理机制,点窗助手。该 SDK 是基于 Google 的 UIAutomator 开发的,所以只适用于 Android 系统。
02 方案
点窗助手主要包括三个部分:云端配置服务、基于 BERT 模型的点击推荐服务、Android 端点击服务。
云端配置服务
可以添加弹框配置信息的 Web 服务,方便运维工程师添加、删除或者合并一些弹框点击配置信息。弹框配置服务示意图如下图所示,可以给不同品牌的手机根据适用场景配置不同的弹框点击信息,大部分采用组件名正则匹配方式点击,少部分利用坐标点击的方式。
如图:某 APK 安装时的弹框
配置如图
基于 BERT 模型的点击推荐服务
由于 APK 和手机品牌种类繁多,应用弹框也很多样化,无法将所有弹框的点击方法都事先配好。因此,将预训练好的 BERT 中文模型迁移到我们的方案中,搭建了基于 BERT 模型的点击推荐服务。
整个服务的框架图如下图所示,BertServer 利用 bert as service 项目 (https://github.com/hanxiao/bert-as-service) 实现的,并在项目的基础上实现了 BertClientPool,维护多个 BertClient,用于并发编码弹框文本。
基于 BERT 模型的点击推荐服务
主要分为三个部分:
1. 从云端配置服务中获取已配置弹框数据作为样本集,利用 BERT 中文预训练模型对已有配置信息进行向量化。
2. 对 Android 端发来的弹框点击推荐请求进行数据解析,并根据请求 id 去缓存中匹配,匹配成功,将缓存中结果返回给 Android 终端,匹配失败,将请求加入任务队列中,等待 Worker 处理。
3. BertClientPool 分配 BertClient 对任务中弹框文本向量化,计算弹框上每个文本向量和相同品牌型号下已有弹框配置向量集的距离,再根据距离对弹框文本排序,将 排序 后的弹框文本列表加入缓存中返回给 Android 端。
Android 端点击服务
Android 端每隔 5s 请求一次云端配置信息,将对应品牌和型号的配置信息存储到本地,利用 uiautomator 监听 OnAccessibilityEventListener 事件回调,判断手机当前的界面是否弹窗,如果出现弹窗界面,利用本地配置信息对弹框做相应的操作,若本地配置信息中没有对该弹窗界面给出指定操作。
Android 端将弹窗界面上的所有控件文本拿到,将少于 10 个字的弹框文本(一般情况可点击的弹框文本字数不多)包装后发送给弹框点击推荐服务,弹框点击服务收到请求后将弹框文本按照可能被点击的优先顺序返给 Android 端,Android 端收到 response 后按照返回的弹框文本列表依次点击直到弹框消失。
03 效果展示
下图是本方法在 360 开测平台(http://opentest.360.cn/phonerenter) 执行兼容性测试任务时的过程图展示,红色是通过云端配置点击的,紫色是弹框点击推荐服务推荐的。
P.S. 360 测试技术专家将于 MTSC2019 大会分享精彩议题,包括测试团队软实力构建、安全能力 SDK 交付质量保证实践等,敬请关注!
MTSC2019 测试开发大会 | 倒计时
掌握 AI+ 智能化测试落地实践,全面提升软件质量,尽在 MTSC2019!
MTSC2019 第五届中国移动互联网测试开发大会 将于 2019 年 6 月 28-29 日 在北京国际会议中心举行,60+ 来自 Google、BAT、TMD 等一线互联网企业的测试大咖分享软件质量保障最佳实践,涵盖 移动自动化测试、服务端测试、质量保障 QA、高新测试技术(AI+、大数据测试、IOT 测试),游戏测试,工程效率提升 等专题。
MTSC2019 大会日程确定,大会门票即将售罄,欲购从速!
http://2019.test-china.org/
报名地址:
https://www.bagevent.com/event/2202999?bag_track=YTTesterHome 福利时间
转发文章到朋友圈,抽奖赠送 TesterHome 定制版精美礼物(卫衣/图书等)、MTSC2019 测试开发大会门票或优惠折扣,以及其他福利等!
-
Step1: 转发本文到朋友圈,扫描二维码加小助手微信;
-
Step2 : 回复「 福利 」入群抽奖;
-
SteP3 : 回复「 组团 」入群,以 团购优惠价 购买 MTSC2019 门票;
P.S. 对于 MTSC 往届参会者 ,可享受 7.5 折福利 ,请进群咨询;
关于 MTSC 大会
中国移动互联网测试开发大会 Mobile Testing Summit China(简称 MTSC)以“软件质量保障体系和测试研发技术交流”为主要目的,从 2015 年举办第一届至今,已成功举办了 4 届,共有 1000+ 家企业, 10000+ 测试工程师、测试经理、测试总监和 CTO 参会,受到了全行业的广泛关注,已经是中国互联网质量保证行业的顶级会议。
扫描二维码,或点 击“ 阅读原文 ” ,抢购 MTSC2019 大会 门票!
以上所述就是小编给大家介绍的《智能化测试探索 | 基于 Bert 迁移学习点击未知弹框》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python Machine Learning
Sebastian Raschka / Packt Publishing - ebooks Account / 2015-9 / USD 44.99
About This Book Leverage Python' s most powerful open-source libraries for deep learning, data wrangling, and data visualization Learn effective strategies and best practices to improve and opti......一起来看看 《Python Machine Learning》 这本书的介绍吧!