Airtest UI 自动化测试项目 [Airtest Project] 资源汇总

匿名 · 2018年03月23日 · 最后由 gggyy3 回复于 2021年05月15日 · 1693 次阅读
本帖已被设为精华帖!

大家好,Airtest Project是网易游戏团队新开源出来的一款用于UI 自动化测试的项目,项目还处在公开测试阶段,最近也收到了不少非常有用的 bug 反馈和建议,非常感谢大家对我们的支持!

为了方便大家更好地了解 Airtest 项目,特此整理了一波相关资料和链接汇总放在这里,欢迎大家围观交流~

简介

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

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

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

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

一句话总结:我们推出了两款基于 Python 的 UI 自动化测试框架Airtest(用截图写脚本)和Poco(用界面 UI 元素来写脚本),可以用我们提供的AirtestIDE来快速编写你的自动化测试脚本~

教程和链接汇总

快速上手

初次上手,请戳以下链接到官网下载 AirtestIDE,以及查看官网演示视频
【主页和 IDE 下载】http://airtest.netease.com/

史上最良心的 5 分钟上手图文教程,开发组小哥哥手把手教你学会怎么用:
【入门教程】http://airtest.netease.com/tutorial/Tutorial.html

基于图像识别的 Airtest

Airtest 是一个跨平台的 UI 自动化测试框架,适用于游戏和 App。目前支持 Windows 和 Android 平台,iOS 支持正在开发中。
【文档】http://airtest.readthedocs.io/zh_CN/latest/
【源码】https://github.com/AirtestProject/Airtest
(求路过顺手点点 star 哦!)

基于控件识别的 Poco

Poco 是一款基于 UI 控件识别的自动化测试框架,目前支持 Unity3D/cocos2dx-*/Android 原生 app,也可以在其他引擎中自行接入 poco-sdk 来使用。
【上手文档】http://poco-chinese.readthedocs.io/zh_CN/latest/source/README.html
【使用 demo 文档】http://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/poco-example/index.html
(可以下载里面提供的 demo 进行试玩)

【源码】https://github.com/AirtestProject/Poco
(听说点 star 的人能看到福利

【进阶工具 HierarchyViewer】http://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/about-standalone-inspector.html

各个引擎如何接入 poco

Android 原生 APP

【SDK】无需接入
【测试框架】http://poco.readthedocs.io/en/latest/source/poco.drivers.android.uiautomation.html
官网首页可以看到一个使用 poco 来测试网易云音乐 app 的例子~

Unity3D

【SDK】http://poco.readthedocs.io/en/latest/source/doc/integration.html#unity3d
【测试框架】http://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/poco_drivers.html

Cocos2dx-lua/Cocos2dx-js

【SDK】http://poco-chinese.readthedocs.io/zh_CN/latest/source/doc/integration.html#cocos2dx-lua

####H5/Unreal
sdk 代码还在整理中,敬请期待

iOS

【环境搭建指引】http://airtest.netease.com/docs/cn/2_device_connection/4_ios_connection.html

问题反馈、自查与 FAQ

遇到问题怎么办,不要惊慌,我们非常乐意接收各位的问题反馈与建议:

AirtestIDE 闪退

点击文档AirtestIDE 闪退问题,根据其中的指引将发生闪退时的步骤重现一遍后,把后台 log 窗口的截图发送到AirtestIDE Issues,或加入我们的 QQ 群(437119175)将 log 反馈给群内管理员们。

Android 手机无法连接

请根据文档Android 连接 FAQ进行问题自查,根据其中的操作步骤进行问题排查后,再将问题反馈到AirtestIDE Issues,或加入我们的 QQ 群(437119175)反馈给群内管理员们。

联系我们

QQ 群: 437119175
邮箱:airtest@service.netease.com
BUG 反馈专用:https://github.com/AirtestProject/AirtestIDE/issues

其余问题与开发建议

对 AirtestIDE 的开发建议,请访问 AirtestIDE issues
对 Airtest 测试框架的开发建议,请访问 Airtest issues
对 Poco 测试框架的开发建议,请访问 Poco issues

最后,感谢各位的支持,我们的项目还有很多不完善的地方,我们会继续努力~!

共收到 52 条回复 时间 点赞

支持了,刚好再学习这个东西

很给力的工具~谢谢 网易大神的分享

辛苦了,棒棒的

思寒_seveniruby 将本帖设为了精华贴 03月23日 19:37
匿名 #5 · 2018年03月24日
从头条慕名而来。。

今年的第四届移动互联网测试开发大会,也提交个 topic 来吧

真牛逼,以前听说过不少各厂自己做各种千奇百怪的解决方案,第一次看到这么成熟的方案,绝了

http://top.gdl.netease.com/AirtestIDE_2018-03-16_8.zip

至今未能下载成功,麻烦检查一下官网上 Windows 版本的AirtestIDE下载链接是否有问题?

匿名 #9 · 2018年03月26日
叫我字母 回复

请问下你的网络是什么网络呢?另外,可以试试用迅雷之类的软件再下载看看

现在可以下载了,之前一直提示文件无效,用迅雷也是。
不知道是不是刚刚卸载了迅雷就好了。。。

11楼 已删除

学习了,厉害了

13楼 已删除

在 Windows 上试用了下,跟 sikulix 好像好像哦

匿名 #15 · 2018年03月30日
lin 回复

对的,sikuli 是个非常伟大的产品,我们的前期设计思路也是参考了它的~

下载后解压一直报错。。。文件损坏

连上模拟器后,显示的是黑屏。但实际点击黑屏,能点到相应的按钮

xiaoqi 回复

暂时不支持模拟器的哈


这是为什么呢?

啵板 回复

好的,谢谢

匿名 #21 · 2018年04月08日
YiZer 回复

IDE 需要显卡支持 Opengl,这种情况的话可以尝试下给显卡更新一下驱动就可以了

安卓端,手机浏览器的游戏,以及嵌入在 APP 中的页面游戏可以支持吗

仅楼主可见
匿名 #24 · 2018年04月08日
zhanglimin 回复

试试将 IDE 放在非中文路径下再重新打开看看。 H5 游戏的 SDK 暂时还没有弄好,未来会逐步开放的

移动端的 sikuli?

匿名 在 Airtest 已经支持 iOS 真机测试! 中提及了此贴 05月04日 17:18

Poco 能不能接到 cocos creator?

匿名 在 AirtestIDE 支持 Web 测试! 中提及了此贴 05月11日 17:05

操作元素的方法好像只有,click() 像 clear(),sendkeys() 等好像都没有

请问文本输入框的内容支持动态变量么?
例如:text(“test”)中的 test 能否替换为其他动态变量?比如:随机数字串

匿名 #33 · 2018年05月22日
阿禾 回复

你说的 clear 和 sendkeys 相当于都是键盘操作,我们有一个接口 keyevent(),可以通过输入 keyevent("删除键") 等按键响应来完成删除和发送按键操作,具体的按键码可以查询 adb 的 keyevent

匿名 #34 · 2018年05月22日
TE5T001 回复

支持的

我 15 年的时候也写过一个录制回访的工具,其实就是在 uiautomatorviewer 的基础上做了一些修改,封装了一些命令,当时是走坐标转换的方式实现点击,滑动等等相关操作的,然后通过 python 的形式把录制好的脚本回放出去。由于当时的工具截取手机屏幕的速度当时很慢最终也没有被用起来,airtest 使用 mimicap 实现快速传屛确实带来了很棒的使用体验。
使用 aritest 时我有以下两个点还没有想明白,希望大拿帮忙解惑:
1、录制脚本时如何应对不确定性 UI(比如 需要判断是否弹窗升级窗口,如果有弹窗则执行动作 a,否则执行动作 b),现在怎么实现类似于这样的脚本;
2、如何把录制好的若干个脚本以 suite 的方式去挨个执行?

通过命令行运行一个调用其它公共模块脚本的脚本文件,如何使用?

匿名 #37 · 2018年06月20日
啄木鸟 回复

抱歉,很久没上论坛一直没看到回帖,现在才回复。

最初我们的截图也是直接用的 android adb 截图,速度非常慢,中途花了很多时间去优化后效果也不太理想,后来发现了 minicap 才让这个工具彻底能真的跑起来。。。

你提的两个问题都比较有代表性,弹窗问题的话我们有尝试过另外开个线程,不断监控当前屏幕,发现有弹窗就去点掉它。

第二个问题的话可以上我们的 github 了解一下 my-testflow 和 pocounit 两个库 https://github.com/AirtestProject

匿名 在 使用 Airtest 进行微信小程序自动化测试 (Android & iOS) 中提及了此贴 06月20日 15:17

很强,上手试了一下速度很快的。安卓和 web 端都尝试了。web 录制后出现了几次崩溃,应该是与我的操作有关😀 有空再看看别的功能,感谢分享

收藏先,有空试试,谢谢楼主分享

仅楼主可见

现在 IOS 能够支持了吗?我试了一下 IOS 的发现录制都没有什么反应

YiZer 回复

https://www.jianshu.com/p/2731fe699d5d 修改网卡就可以解决这个问题

simple 专栏文章:[精华帖] 社区历年精华帖分类归总 中提及了此贴 12月13日 14:44
simple [精彩盘点] TesterHome 社区 2018 年 度精华帖 中提及了此贴 01月07日 12:08

你好,如果我想用这个工具写的脚本在别的机子上跑起来的话,要如何部署呢?是否每台机子都需要安装 airtest 环境才能跑的起来?入

什么时候支持通过 WIFI 连接被测设备

匿名 #48 · 2019年01月21日

远程设备一直都支持的,只是可能效率不高,因为网速问题

匿名 #49 · 2019年01月21日
Bigfishisbig 回复

理论上来说,是需要装了环境才能跑的

感谢网易粑粑的工具共享,我已经爱上节款工具😻

为什么文档全部 404 了

匿名 #52 · 2019年01月29日
Milukun 回复

抱歉,我们之前对文档地址进行了一些修改,导致旧的文档 URL 失效了,现在已经修复了部分 404 链接,可以访问了。
访问我们的官网也可以直接找到文档入口:http://airtest.netease.com/

wolfgao 移动客户端 /UI 开源测试框架梳理和大比拼 中提及了此贴 02月27日 21:03
YiZer 回复

找到解决方案了吗~

请问对于其他引擎接入 SDK 的帮助文档有吗

请教一下,对于截图比较的,在不同分辨率的设备上,都要截图么?若不用,怎么解决这个问题的

部分 app 一打开就会断掉画面,把 connect 里面的选项怎么改都不行,退出那个 app 回到桌面再 connect 就没问题,请问这个应该是哪里设置不对?偶尔进去了之后点 connect 又可以

请问 linux 系统 python 版本 2.7,64 位的,先是安装 airtest 时安装 opencv_contrib_python 失败,然后在单独安装 opencv_contrib_python 这一步,先后安装 opencv_contrib_python-4.2.0.32-cp27-cp27mu* 的 whl 文件都安装失败,报错信息:
ERROR: opencv_contrib_python-4.2.0.32-cp27-cp27m* is not a supported wheel on this platform.
然后又默默把这个版本所有 cp27 的都试了一遍,全报这个错。随后用版本 opencv_contrib_python-3.2.0.7 也是这个报错。请问这个要怎么解决呢?

请问使用 assert_exists 这个函数,怎么修改 threshold,尝试直接传参和修改 ST.THRESHOLD_STRICT 以及 ST.THRESHOLD,但运行的时候 threshold 还是默认 0.7

你好,想问下多开线程的话,用的是原来的 UnityPoco 对象,还是新的 UnityPoco 对象?
我项目这边由于有比较多的不同类型弹窗,开了四五个线程,用重新生成的 UnityPoco 对象的话,游戏性能会下降的很厉害;用单例去获取 UnityPoco 对象的话,又会报错,想问下有什么思路吗?

poco 示例里的 demo 下载不了😭

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