开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支
WeTest 导读
GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试。
1、GAutomator诞生背后
研究过手游自动化测试的同学都知道,虽然市场上已经有比较多成熟的自动化工具,如Android系统的UIAutomator,iOS的XCUITest和基于这些服务封装而来的 appium和wda等,但都无法直接应用到手游自动化中。问题的关键原因是手游与其他APP在自动化测试技术上有巨大的不同,普通的APP是由Android/IOS的标准UI控件组成,而手游画面上几乎所有内容都是通过游戏引擎渲染生成。为了填补这块技术空白,帮助更多的手游快速实现自动化,我们在2016年推出了GAutomator(下文简称GA)这个业界第一款手游自动化框架。

GA是基于游戏引擎识别UI控件的手游自动化测试框架,并已经应用于众多明星手游项目,如《王者荣耀》、《乱世王者》、《火影忍者》等,他可以使手游中一些传统工具无法识别的UI控件变得可识别,进而可自动化测试。

GAutomator重大更新:将支持U3d&UE4双引擎、iOS&Android双系统
继2016年我们首次开源了GA的框架代码,陆续有开发者给GA提出了非常好的建议被我们采纳并修复,但一直没有发布重大更新。直至2018年,通过厚积薄发,我们将向各位献上 3个重大更新:
一、GA将支持UE4引擎
2018年绝对求生火热起来后,WeTest团队也迎合趋势在第一时间支持了UE4引擎的手游自动化;
二、GA将首次支持iOS系统
和Android系统一样,iOS也同样支持录制回放的能力,方便大家快速实现自动化;
三、GA SDK将伴随框架同步开源
以开放的姿态邀请更多的开发者和我们一起共建;
通过这次更新,GA实现了对U3d&UE4双引擎、iOS&Android双系统的支持,将满足大部分手游开发者的自动化测试需求。

2GAutomator后续计划
为了让GA更加易用,使用起来效率更高,我们正在开发一个完整的IDE来降低环境部署时间及自动化脚本生成时间。
新的IDE将同时识别支持标准安卓控件和unity/ue4引擎控件,此外,还将整合基于图像识别的测试方式让开发者可以快速创建自己的自动化测试脚本。
我们还准备将IDE和WeTest平台的云服相结合,所有通过IDE生成的自动化测试脚本将支持一键提交到WeTest平台的测试云上,快速的完成分布式的功能测试任务。
此外,GA
正在开发适合小游戏(Cocos
Creator游戏引擎)的自动化测试框架,该项技术是由腾讯互娱光子工作室技术中心开发。小游戏测试框架将支持手机和Chrome浏览器上运行,该框架提供Chrome用例调试插件,可以快速在Chrome浏览器上直接编辑用例和调试用例。同时还提供了基于dijkstra算法扩展出来的随机测试。
GAutomator的2年生命离不开各位开发者的关注和贡献,希望大家在访问GA的Github的专区时也留下你的看法和建议,WeTest团队将会非常欢迎和重视各位的想法,也期待和各位的进一步交流。
关于腾讯WeTest
腾讯WeTest是由腾讯官方推出的一站式品质开放平台。十余年品质管理经验,致力于质量标准建设、产品质量提升。腾讯WeTest为移动开发者提供兼容性测试、云真机、性能测试、安全防护、企鹅风讯(舆情分析)等优秀研发工具,为百余行业提供解决方案,覆盖产品在研发、运营各阶段的测试需求,历经千款产品磨砺。金牌专家团队,通过5大维度,41项指标,360度保障您的产品质量。
点击:https://github.com/Tencent/GAutomator 最新的GAutomator开源代码及资料。
如果使用当中有任何疑问,欢迎联系腾讯WeTest企业QQ:2852350015
开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支的更多相关文章
- distri.lua重写开源手游服务器框架Survive
Survive之前采用的是C+lua的设计方式,其中网关服务器全部由C编写,其余服务全部是C框架运行lua回调函数的方式编写游戏逻辑. 鉴于一般的手游对服务器端的压力不会太大,便将Survive用di ...
- 1款开源工具,实现自动化升级K3S集群!
即便你的集群能够平稳运行,Kubernetes升级依旧是一项艰难的任务.由于每3个月Kubernetes会发布一个新版本,所以升级是十分必要的.如果一年内你不升级你的Kubernetes集群,你就会落 ...
- 新手做2D手游该用哪些工具?
全球手游行业规模将突破250亿美元,越来越多的开发者开始进入手游研发领域,而作为一名菜鸟,很多时候,如果没有其他开发者的建议,会走很多弯路.一开始进入游戏研发领域的时候,你很难知道该选择什么工具.什么 ...
- 《疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)》
<疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)> 基本信息 作者: 李刚 肖文吉 出版社:电子工业出版社 ISBN:9787121224379 ...
- UWA发布 | 2017 Unity手游体检蓝皮书 — ARPG篇
报告目录: 一.ARPG手游总体性能开销分析 二.ARPG手游CPU模块性能开销分析 三.ARPG手游内存模块性能开销分析 四.ARPG手游资源管理分析 五.UWA对于ARPG手游研发团队的建议 一. ...
- 【转载】浅谈游戏开发之2D手游工具
浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android 程序设计: 其它 编程语言: 引擎/SDK ...
- AirtestIDE实践一:梦幻西游手游师门任务自动化
Airtest Project是网易自研的游戏自动化项目.Airtest IDE是这个项目的一个IDE,就像Eclipse.Pycharm一样,是一个集成开发工具.Airtest框架是一个基于Open ...
- 腾讯开源手游热更新方案,Unity3D下的Lua编程
原文:http://www.sohu.com/a/123334175_355140 作者|车雄生 编辑|木环 腾讯最近在开源方面的动作不断:先是微信跨平台基础组件Mars宣布开源,腾讯手游又于近期开源 ...
- 【腾讯Bugly干货分享】手游热更新方案xLua开源:Unity3D下Lua编程解决方案
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/2bY7A6ihK9IMcA0bOFyB-Q 导语 xL ...
随机推荐
- Odoo中报表PDF样式出错的解决办法
如果发现生成的pdf样式不对,那可能是wkhtmltopdf没办法访问web服务器导致的.wkhtmltopdf进程使用web.base.url作为根url来生成对应文件路径,但这个地址是每次管理员登 ...
- JNI由浅入深_7_c调用Java方法一
1.在Java中声明方法 <span style="font-size:14px;">/** * javah -encoding utf-8 -jni com.exam ...
- uboot 移植 要点
1.第一 首先要 学会 shell 语法 比如 变量的 概念 变量的使用 ,if 语法 ,以及简单 IF 语法(与 或预算),以及 while for 循环 等等语法,才能看得懂 uboot ...
- Oracle 存储结构一
了解块中表行数据的存储 Oracle数据存储模型 逻辑结构在左,物理结构在右 有一个关系使用虚线绘制,表示段与数据文件的多对多关系.之所以使用虚线表示关系,是因为这种多对多关系不应存在. 表空间实体消 ...
- Java并发编程(十)死锁
哲学家进餐问题 并发执行带来的最棘手的问题莫过于死锁了,死锁问题中最经典的案例就是哲学家进餐问题:5个哲学家坐在一个桌子上,桌子上有5根筷子,每个哲学家的左手边和右手边各有一根筷子.示意图如下: 哲学 ...
- 腾讯云的对象存储COS
什么是对象存储COS Clound Object Storage,COS,专门为企业和开发者们提供能够存储海量的分布式存储服务,用户可以随时通过互联网对大量数据进行批量存储和处理,在任意位置存储和检索 ...
- Bootstrap03
一.表单(以下示例 * 代表class) 注意:a.使用表单的关键字form b.所有的提示词使用label包裹 c.所写内容按div分类,使得层次分明 1.基本表单+表单组合+内联表单 *=form ...
- MongoDB数据库 : 管道,用户管理,副本集等
聚合(aggregate): db.集合.aggregate([{管道:{表达式}}]) db.集合.aggregate([ {管道1:{表达式1}}, {管道2:{表达式2}}, ... ...]) ...
- day 32 管道,信号量,进程池,线程的创建
1.管道(了解) Pipe(): 在进程之间建立一条通道,并返回元组(conn1,conn2),其中conn1,conn2表示管道两端的连接对象,强调一点:必须在产生Process对象之前产生管道. ...
- 关于flume的filechannel的 full 问题
事务启动以后,批量向事务Transaction的一个putList的尾部写入,putlist是一个LinkedBlockingDeque . 事务提交的时候, 把putlist中的event批量移除, ...