QQ飞车手游UI自动化测试尝试

本文只使用QQ飞车手游安卓客户端进行UI自动化测试尝试

 

尝试方法1--使用Espresso, 用UI Automator获取元素属性

打开app

在”腾讯游戏用户协议和隐私政策界面“和权限请求界面,使用UI Automator可以获取到元素属性

(1)用户协议和隐私政策
标题:

text  腾讯游戏用户协议和隐私政策
id  com.tencent.tmgp.speedmobile:id/msdk_policy_title_tv

同意按钮:

id  com.tencent.tmgp.speedmobile:id/msdk_policy_confirm_btn

(2)权限请求
标题:
text 权限请求

id   com.tencent.tmgp.speedmobile:id/msdk_permission_title_tv

确定按钮:

id  com.tencent.tmgp.speedmobile:id/msdk_permission_confirm_btn

接下来的应用更新界面、应用加载界面、登录界面

使用UI automator, 点击不到页面元素(点击到的是封装后比较大的模块),获取不到text属性, id属性统一显示为unitySurfaceView

 

 

因为是用了Unity进行了封装,用户协议和隐私政策 界面、权限请示界面 的 后续界面无法使用UI Automator进行元素定位

 

尝试方法2--使用Airtest

Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具,比较适合于游戏

官网下载http://airtest.netease.com/, 之后,在win10, AirtestIDE打不开

使用兼容模式启动,仍然无法打开

改用其他方法

 

尝试方法3--使用GAutomator

通过GAutomator的介绍得知,GAutomator需要把它的SDK嵌入游戏的代码中,需要参与项目研发才行

 

尝试方法4--使用AltUnity

从AltUnity的官方说明得知, AltUnity也需要把AltUnity Tester包接入游戏源代码,需要参与项目研发

 

尝试方法5--使用Unity内置的UI自动化测试方案

根据说明文档可知,使用Unity自带的UI自动化测试解决方案也需要接触项目源码

 

尝试方法6--终极解决方案,机器视觉+UI自动化

这是通用的解决方案,一定可行,而且不限于安卓平台,具体怎么做,待研究

另外,如果游戏中本来就存在相关AI,完全可以利用起来

 

 

综上,由于QQ飞车手游安卓包用的开发引擎是Unity

用Espresso只在前面两个界面可行,后续不可行

Airtest不可行

比较可行的方案是:

GAutomator、AltUnity、Unity自带的UI自动化解决方案、机器视觉

其中,GAutomator、AltUnity、Unity自带的UI自动化解决方案 都需要参与项目研发,介入游戏源代码

用机器视觉做UI自动化测试,比较通用,前期可能需要花费较多精力

 

posted @ 2022-03-18 17:36  coffee~  阅读(454)  评论(0编辑  收藏  举报