基于Bert迁移学习点击未知弹框

这篇博客介绍了在Android兼容性测试中如何应对各种手机品牌的弹框问题。通过点窗助手,结合云端配置服务、BERT模型的点击推荐服务和Android端点击服务,有效地处理安装、启动、卸载过程中的弹框,确保测试的顺利进行。BERT模型用于推荐弹框点击,提高适配效率。

在兼容性测试中,对于一个app进行兼容性测试,包括安装,冷启动,热启动,卸载四个步骤,在这四个步骤都正确的情况下,才确定app兼容这款手机。

在国内,Android手机的型号,品牌有很多,各个品牌厂商封装代码不同,给兼容性测试带来了很大的影响,尤其在Android6.0以后,Android为了用户安全引入权限弹框,Android8.0以后oppo,vivo等手机需要用户输入账户,密码才可以安装,为确保兼容性测试的正确执行,需要引入一种辅助处理机制,点窗助手。该sdk是基于google的uiautomator 开发的,所以只适用于Android系统。

方案

点窗助手主要包括三个部分:云端配置服务、基于BERT模型的点击推荐服务、android端点击服务。

云端配置服务

可以添加弹框配置信息的web服务,方便运维工程师添加、删除或者合并一些弹框点击配置信息。弹框配置服务示意图如下图所示,可以给不同品牌的手机根据适用场景配置不同的弹框点击信息,大部分采用组件名正则匹配方式点击,少部分利用坐标点击的方式。

**如图:**某apk安装时的弹框

配置如图

基于BERT模型的点击推荐服务

由于apk和手机品牌种类繁多,应用弹框也很多样化,无法将所有弹框的点击方法都事先配好。因此,将预训练好的BERT中文模型迁移到我们的方案中,搭建了基于BERT模型的点击推荐服务。整个服务的示意图如下图所示,BertServer利用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后按照返回的弹框文本列表依次点击直到弹框消失。

更多技术文章

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值