Airtest 网易游戏新开源的 UI 自动化测试项目 [Airtest Project]

匿名 · 2018年03月12日 · 最后由 zhouy773858927 回复于 2019年08月02日 · 13448 次阅读

大家好,我们是网易游戏内部工具团队,最近我们开源了一个 UI 自动化测试项目Airtest Project

本项目即将在今年的 GDC 与 Google 合作发布,现在处于公开测试阶段,欢迎大家试用&与我们交流。

演示GIF

AirtestIDE 是一个跨平台的 UI 自动化测试编辑器,适用于游戏和 App。

  • 自动化脚本录制、一键回放、报告查看,轻而易举实现自动化测试流程

  • 支持基于图像识别的Airtest框架,适用于所有 Android 和 Windows 游戏

  • 支持基于 UI 控件搜索的Poco框架,适用于 Unity3d,Cocos2d 与 Android App

  • 访问官网通过视频查看更多特性

在网易游戏内部,这个项目被应用在梦幻西游、大话西游、阴阳师、荒野行动等数十个游戏的自动化测试中。在游戏放出前,我们通常会在数百台安卓手机上测试游戏的兼容性,Demo 点这里

官网:http://airtest.netease.com/
GitHub:https://github.com/AirtestProject
教程:http://airtest.netease.com/tutorial/Tutorial.html
QQ 讨论群:437119175

共收到 66 条回复 时间 点赞

厉害了 0.0

👍 👍 👍 坊间流传:网易出品,必属精品.

我现在是网易产品重度使用用户,网易云邮箱 网易有道 网易云音乐 简书 ...... 都没让我失望过.
这个和社区内的 ATX 项目有很大渊源,没发布前,我已经关注简单使用过了,还是很靠谱的.

匿名 #4 · 2018年03月12日

棒棒的,最近自己在研究使用 opencv 图像识别尝试做游戏的自动化,没想到一下子就有个学习的开源项目,墙裂资瓷

哇。厉害了。学习一下

老马 回复

网易游戏策划。。。基本都是 2 货

匿名 #9 · 2018年03月12日

👍 👍 有兴趣可以贡献代码~

匿名 #11 · 2018年03月12日
codeskyblue 回复

你这顶的太随便了吧😝

仅楼主可见

自动化的门槛,又一次被踢倒

楼主,请问下,IDE 是不是没有代码自动补全啊,像我引入 start_app 这些函数 都不能自动补全呢

匿名 #16 · 2018年03月12日
战 神 回复

目前代码补全的功能比较弱,后面会继续完善哒~

厉害了

—— 来自 TesterHome 官方 安卓客户端

http://airtest.netease.com/tutorial/Tutorial.html 这个页面还有一些问题,点击 “添加 PYTHONPATH” 与 “引入第三方 Python 库” 跳转都是当前页面 ,麻烦注意到的话给个正确链接哈

匿名 #19 · 2018年03月13日
战 神 回复

😅 恩恩,文档还在进一步完善中,这两个相关问题的帮助文档还没有更新出来,所以暂时没有链接哈,我们会尽快更新

可不可以再封装些循环查找目标(限制一个超时时间)的底层函数,用户也可以自己写啦,就是有点麻烦

后续可以扩展这些到 utils 里

厉害,点赞😃

哇塞,用 python 做的,好喜欢

支持 Android H5 测试么?

前面的操作, 跟 sikuli 有点像

仅楼主可见
匿名 #28 · 2018年03月14日
debugtalk 回复

Hi 可以啊,你先进 qq 群单 m 我吧,这里好像没有私信系统?

这名字很有逼格

匿名 #30 · 2018年03月14日

有了呀wait()函数,看这里

匿名 #31 · 2018年03月14日
wangbooth 回复

专业👍 sikuli 是我最早接触的一款自动化工具,当时很受启发

匿名 #32 · 2018年03月14日
11111111 回复

目前用图像识别是可以的,用控件识别等后面扩展~

厉害了大网易,还是用 python 写的,好期待 iOS 的支持

麻烦问一下,有关于系统弹窗检查的相关功能么?谢谢

sjh 回复

你问的这个一看就搞过专业的自动化的!我们有相关的实践,不过目前还没有开源。你可以用 poco 试试看

adolli 回复

好的,谢谢

39楼 已删除
adolli 回复

漏了一个
【pywinauto】https://github.com/pywinauto/pywinauto

41楼 已删除
匿名 #42 · 2018年03月15日

😮 头像不错~

持续集成看这里,命令行接口

老马 回复

pywinauto 是底层依赖的,不准备放到公开 API 里使用

我以前用 OpenCV + adb 模仿 sikuli 做 Android 上的 UI 自动化测试😂

仅楼主可见

如果字母和数字同是输入,键盘无法输入。应该是键盘的问题

匿名 #47 · 2018年03月16日
王多余 回复

感谢夸奖~
text 的问题我们会验证一下,方便的话可以上github提个 issue

匿名 #48 · 2018年03月16日
wangbooth 回复

都是这样开始的😂

我想知道拿网易的 Airtest 写脚本玩游戏会不会被封号😅

匿名 #50 · 2018年03月16日
我去催饭 回复

😆

老马 网易 UI 自动化工具 Airtest 浅用记录 中提及了此贴 03月19日 09:42

我去给你到游戏那边宣传下。。放心

匿名 在 atx 现在支持 cocos 的 ui 自动化吗? 中提及了此贴 03月19日 15:23

这需要弄的尝试下的

楼主厉害啊,感觉基本上算一个标杆工具了。
打算研究一下源码以后毕设和秋招都能谈笑风生了!😂

我用的华为 P10 手机,手机连接上,开始录制,鼠标点击右边的屏幕的任何应用,手机没有反应,但是如果操作手机,airtest 的屏幕会跟着变化,为何?

仅楼主可见
匿名 #58 · 2018年03月26日
郑沐 回复

Hi,目前是可以跨分辨率的,采用的是 sift 算法和缩放后的模板匹配,可以参考这里的代码。跨分辨率的识别,你可以换不同的截图范围试试效果。

弱弱地问一下,是如何识别游戏里的各种控件的?

哇,了解,谢谢

好用

如果进行获取页面数据和数据库进行比较

很像 sikuli 呀

老马 回复

简书,,,有点逗了啊

呀,发现个新东西,之前研究过 ATX。感谢大网易!

匿名 在 Airtest 已经支持 iOS 真机测试! 中提及了此贴 05月04日 17:18
匿名 在 AirtestIDE 支持 Web 测试! 中提及了此贴 05月11日 17:05
68楼 已删除
匿名 在 使用 Airtest 进行微信小程序自动化测试 (Android & iOS) 中提及了此贴 06月20日 15:17

在登录页面,输入用户名操作,一直提示错误,请问是什么原因???
Traceback (most recent call last):
File "poco\proxy.py", line 26, in wrapped
File "poco\proxy.py", line 631, in wait_for_appearance
poco.exceptions.PocoTargetTimeout: Waiting timeout for appearance of "UIObjectProxy of

这个真的牛逼。。。

qq 群已经满员了,大佬有没有考虑建个分群

有关于输入框安全键盘弹出会被 Yosemite 限制,请问有什么办法解决嘛? @Meteorix

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册