网易与Google合作,于GDC开幕首日发布开源UI自动化测试方案
【TechWeb报道】美西时间3月19日,在GDC开幕第一天的Google开发者专场,Google发布了一款由网易研发的UI自动化测试方案:Airtest Project。
Google方面评价,这可能是目前世界上最好的安卓游戏自动化测试方案。

AirtestIDE
是一个跨平台的UI自动化测试编辑器,目前已经支持安卓手游、Windows端游和安卓App,后续还将支持iOS手游。在网易游戏内部,这项技术已经被应用到《梦幻西游》手游、《大话西游》手游、《阴阳师》、《荒野行动》、《终结者2:审判日》等多款重点产品的测试当中。
具体来说,AirtestIDE拥有基于图像识别的Airtest框架,使用者无需接入代码,只要在设备窗口操作手机,代码即会在代码窗口自动生成。如果开发者认为图标不够精确,还可以通过手动框选图标或是其他方式来生成模拟输入语句。

AirtestIDE还拥有基于UI控件搜索的POCO框架,可以直接获取UI结构,检视UI控件。它支持Unity3D、Cocos2dx等主流游戏引擎及Android源生App,开发者也可以通过扩展SDK支持其他游戏引擎或任意UI系统。

在实际测试过程中,AirtestIDE可以为测试人员定位异常测试点,回放每一个操作步骤,最后还会生成一份报告,以方便测试人员排查细节错误。

此外,AirtestIDE中录制和运行的代码都基于Python2.7语言。新手上手比较容易,熟练的开发者也可以通过添加第三方库和工具增强自己的脚本。同时,这项工具还可以与持续集成相结合,甚至以此技术为基础搭建云测试平台。
在以往的测试过程中,开发者往往需要在几百台安卓手机上测试游戏的兼容性。但通过AirtestIDE可视化、易于编辑的界面与功能,开发者只需录制一次测试脚本即可实现多端运行,这大幅度减少了人力及时间成本。而对于Google来说,AirtestIDE能够为全世界的安卓开发者提供一套自动化的游戏测试解决方案,改善安卓开发的生态环境。这或许也是他们在GDC上宣布与网易合作,并在Firebase Test Lab中支持这项技术的原因。

网易方面称,Google未来还愿意继续与他们合作,将机器学习应用在游戏的开发与测试方面。或许这也是中国研发技术在国际上开始受到认可的标志。目前Airtest Project已分享至Github(https://github.com/AirtestProject)开源使用,开发者也可以至官网(http://airtest.netease.com/)进行查看和下载。
此外,Google还将在美西时间3月21日对Airtest Project进行专场演讲,现场还将邀请到网易游戏QA团队的技术总监刘欣进行现场演示。全球开发者也可以在GDC期间前往Google展台与网易游戏QA团队进行交流。
自2014年开始,网易就在通过网易游戏学院在线上分享经验,并在线下举办多次公开日活动,为行业培养更多人才。如今它又与Google合作,开源了一款能够切实提升游戏开发效率的技术工具。希望像网易这样具有分享精神的游戏厂商越来越多,和其他团队共同抬高游戏行业的上限,做出更多精致有趣的产品。
本文转自:http://www.techweb.com.cn/it/2018-03-20/2647353.shtml
网易与Google合作,于GDC开幕首日发布开源UI自动化测试方案的更多相关文章
- 网易与Google合作发布开源UI自动化测试方案 牛逼:Google 方面评价,这可能是目前世界上最好的 Android 游戏自动化测试方案。
美西时间 3 月 19 日,在 GDC 开幕第一天的 Google 开发者专场,Google 发布了一款由网易研发的 UI 自动化测试方案:Airtest Project.Google 方面评价,这可 ...
- 网易云信技术分享:IM中的万人群聊技术方案实践总结
本文来自网易云信团队的技术分享,原创发表于网易云信公众号,原文链接:mp.weixin.qq.com/s/LT2dASI7QVpcOVxDAsMeVg,收录时有改动. 1.引言 在不了解IM技术的人眼 ...
- Airtest网易开源的一款UI自动化测试工具
Airtest网易开源的一款UI自动化测试工具 1 Airtest 简介Airtest Project是网易游戏内部工具团队开发并开源的一款UI自动化测试工具,据说曾经获得谷歌力挺. AirtestI ...
- Breakpad Google的crash捕获、抓取开源库
简介: Breadpad为google chrominum项目下用于处理dump的一套工具:内部采用跨平台方式实现捕获.生成.解析与平台无关的dump,便于统一处理:支持进程内与进程外捕获,当为进程外 ...
- 【深度解析】Google第二代深度学习引擎TensorFlow开源
作者:王嘉俊 王婉婷 TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源.TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码.使用 Tens ...
- Google Map API V3调用arcgis发布的瓦片地图服务
由于最近项目需要用到CAD制作的地图,但之前一直使用的是用谷歌离线瓦片地图的方式,怎么样把CAD图像地图一样有缩放,移动的功能放到网页显示成了难题, 原先的谷歌地图的代码难道就不能用了?重新写一套代码 ...
- Google序列化库FlatBuffers 1.1发布,及与protobuf的比较
个人总结: FlatBuffer相对于Protobuffer来讲,优势如下: 1. 由于省去了编解码的过程,所以从速度上快于Protobuffer,个人测试结果100w次编解码,编码上FlatBuff ...
- 网易UI自动化测试工具Airtest中导入air文件中的方法
最近看了一下网易的Airtest ,UI测试工具,写了一些后在导入其他air文件中的.py文件,卡了一下,现在博客中纪录一下导入其他air文件的方式: 在Airtest 测试工具中,导入其他air文件 ...
- google插件跨域含用户请求WebApi解决的方案
问题描述: google插件跨域请求WebApi相关解决方案 1.ajax解决含登录用户信息 $.ajax({ url: url, type: "POST", timeout: 6 ...
随机推荐
- python paramiko登陆设备
一,单线程 - shell交互 def chan_recv(chan): data = chan.recv(1024) # 收1024数据 sys.stdout.write(data.decode() ...
- ZJNU 2135 - 小智的宝可梦
因为成环 所以可以枚举第1只与第n只喂的次数 然后第1只和第2只的次数就固定了,以此类推,则所有宝可梦喂的次数都固定了 最后处理完检查是否全为0,不是则进行下一次枚举,是则直接输出Yes 如果所有枚举 ...
- Python opencv计算批量图片的BGR各自的均值
#coding:utf-8 #第一种方式 很慢很慢 自己写的如何计算均值 ''' import cv2 import os def access_pixels(frame): print(frame. ...
- Linux] Git: push 出错的解决 master -> master (branch is currently checked out)
在使用Git Push代码到数据仓库时,提示如下错误: [remote rejected] master -> master (branch is currently checked out ...
- org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'socialCode' in 'class java.lang.String'
异常: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Refl ...
- 【转】修改Ubuntu系统的登陆信息的简单方法
转自http://www.jb51.net/os/Ubuntu/414663.html Ubuntu的登陆和欢迎信息控制/etc/issue和/etc/motd/etc/issue与/etc/motd ...
- Sqlite教程(3) SQlite Query
Configuration是属於util工具包. 把所有环境设置都定义在Configuration工具包里,那麽这个Configuration就是独立的单一入囗. 在架构上,可以提高耦合度,而且出Bu ...
- 吴裕雄--天生自然python学习笔记:python 用 Open CV 进行人脸识别
要对特定图像进行识别,最关键的是要有识别对象的特征文件, OpenCV 己内置 了人脸识别特征文件,我们只需使用 OpenCV 的 CascadeClassifier 类即可进行识别 . 创建 Cas ...
- C++ 回调函数简单示例
回调函数其实就是以函数指针做函数参数传递给另一个函数,在另一个函数执行的时候可以根据函数指针执行回调函数的代码.简单示例,便于理解,防止遗忘. #include <iostream> ty ...
- 导入import的多种形式
参考资料:anaconda官方资料 一.module(模块) 比如fibo是个模块(.py文件),其中有fib.fib2等函数 第一种形式:import fibo 在当前的符号表中,这并不会直接进入到 ...