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自动化测试,比较通用,前期可能需要花费较多精力