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

yimelia · 2018年03月23日 · 最后由 tattoo 回复于 2018年07月14日 · 14652 次阅读
本帖已被设为精华帖!

大家好,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/docs_AirtestIDE-zh_CN/1_quick_start/5_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

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

共收到 35 条回复 时间 点赞

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

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

辛苦了,棒棒的

seveniruby 将本帖设为了精华贴 03月23日 19:37
从头条慕名而来。。

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

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

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

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

apert 回复

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

yimelia 回复

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

11楼 已删除

学习了,厉害了

13楼 已删除

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

vic 回复

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

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

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

tattoo 回复

暂时不支持模拟器的哈


这是为什么呢?

HongBo 回复

好的,谢谢

YiZer 回复

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

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

仅楼主可见
limzhang 回复

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

移动端的sikuli?

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

Poco 能不能接到cocos creator?

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

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

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

zhangwk02 回复

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

C0ME 回复

支持的

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

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

Andrew_Liu 回复

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

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

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

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

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

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

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