惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
T
Threatpost
阮一峰的网络日志
阮一峰的网络日志
美团技术团队
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
月光博客
月光博客
V
Visual Studio Blog
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
Jina AI
Jina AI
J
Java Code Geeks
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Recorded Future
Recorded Future
C
Check Point Blog
腾讯CDC
N
Netflix TechBlog - Medium
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
Hacker News: Ask HN
Hacker News: Ask HN
SecWiki News
SecWiki News
博客园 - Franky
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News | PayPal Newsroom
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
Cloudbric
Cloudbric
F
Full Disclosure
The Cloudflare Blog
Y
Y Combinator Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
S
Schneier on Security
Schneier on Security
Schneier on Security
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
AI
AI
N
News and Events Feed by Topic
T
Tor Project blog
P
Palo Alto Networks Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
Google Developers Blog

博客园 - coffee~

在微信端使用Openclaw的简单配置方法--WorkBuddy 使用Termux+Proot-distro+Ubuntu+zsh在手机端配置安装Openclaw,使用Skillhub安装skill, 接入企业微信 npm切换下载源为国内的镜像源 一加13刷氧系统--OxygenOS 15 for oneplus 13 Playwright使用Typescript实现在测试case文件中调用另一个文件中的方法 Cypress实现拖拽 git基本命令 使用Playwright进行Web页面UI自动化测试 Python获取星期几 cd命令切换目录简写 win10在任意位置安装Linux子系统WSL Ubuntu pixel刷机没有退出谷歌账号,无法跳过开机验证 Python在一个文件中引用另一个文件的所有变量 pycharm给代码批量添加tab/取消添加tab 用Pycharm把浏览器复制出来的headers/参数给字段和值分别加单引号 Python requests.get所有参数顺序、Python requests.post所有参数顺序 windows使用快捷按键进行截图、录屏 3个瓶盖可以兑换一瓶饮料,买了n瓶饮料,一共可以喝到多少瓶 Python由字符串生成字典 Python生成随机数 Python安装包国内镜像源
QQ飞车手游UI自动化测试尝试
coffee~ · 2022-03-18 · via 博客园 - coffee~

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

目前QQ飞车权限弹窗自己做了一个界面,解决了使用系统弹窗时的UI自动化测试问题

UI自动化还有一种方案是:

给页面所有元素标记 一个测试属性,分配数字标号,UI自动化时,按这个测试属性查找即可