网易开源支持图像识别的自动化UI测试工具,零基础亲测好评!
编辑 | Jane
出品 | AI科技大本营
AI科技大本营给大家推荐了很多有意思、适合开发者们的工具,比如代码修复神器、帮小白快速分析 Error、PDF 翻译工具、变量命名神器等等。
今天,营长要专门给测试人员,或者想做测试的小伙伴们推荐一款工具:Airtest,由网易团队研发,其自动化框架通过图像识别和 UI 控件检索技术,几乎适用于任何游戏引擎和应用。并且支持多平台,便于使用,即使不会代码,对自动化测试完全不懂,只要耐心研究学习一下,也能很快上手。
为了证明真的很简单,先放营长亲自学习示范的教程:
测试对象:CSDN 官网(http://csdn.net)
测试功能:博客、问答能功能
(为满足文件大小要求,完整流程被剪成3段)
去年,Google 也宣布将 Airtest 应用到 Firebase 实验室中,作为游戏测试解决方案的一部分。营长通过完整的尝试过程发现,Airtest 操作简单,基本不涉及代码,配置环境也简单,只需简单几步即可。所以非常适合刚入门、没什么经验,甚至零基础的人使用。老司机们还可以做更高级的功能拓展,但也有一个缺点,无法支持断点续传。目前 Airtest 已经开源,大家可以下载客户端,跟着教程快速上手实践。
AirtestIDE 有多好用?
自动化测试是指以人为驱动的测试,把大量、复杂或特殊的人工测试用例用自动化测试工具进行测试与评估。一套自动化测试工具不仅可以提高效率,还能节省人力与时间等成本与资源。和现在已有的一些自动化测试工具相比,Airtest 又有哪些特点呢?
自动化测试流程易学易实现:可以自动化脚本录制、一键回放,生成并查看报告
支持基于图像识别的 Airtest 框架,适用于所有 Android 和 Windows 游戏
支持基于 UI 控件搜索的 Poco 框架,适用于 Unity3d、Cocos2d 和 Android App
可在 Windows 和 MacOS 上运行,支持测试 Android,Windows、iOS 应用与 Web 测试
可支持平台:Android、iOS、Windows、Unity、Cocos2dx、Egret 与 Wechat 小程序
怎么用?超详细教程
1.安装:目前自动化测试编辑器 AirtestIDE 已经提供 Windows 和 Mac 两个版本的客户端
2.连接设备:目前可连接 Android,Windows 和 iOS 上的应用
3.录制自动化脚本
先从最常用的模拟点击开始,然后点击 Airtest 辅助窗上的【录制】按钮,我们在设备窗口上的操作,代码都会自动生成在代码窗口中,最后 【运行】就可以了,营长没写一行代码。
4.查看测试报告
运行结束后,点击【查看报告】按钮即可浏览测试报告页面
5.其他:
(1)如果自动录制的图标不够精准,还可以点击 【touch】按钮,框选精确的图标,生成测试代码。
(2)目前使用的代码还是 Python 2.7,新手上路容易,老手还可以使用各种第三方库是脚本更强大。
结语
当完成一个简单测试用例的流程,并且熟悉后,营长除了感叹工具好用,也不免多有一些其他感慨。随着现在 AI 技术的广泛应用,我们追求效率要高、成本要低,性能要越来越好,进而越来越多简单、重复性的人力劳动被技术和工具所取代,然而作为一名技术开发者,我们除了要有通过技术做出产品的能力,更要了解新技术、不断对自己提出新要求,跟上不断发展的现状。新一年,AI科技大本营也将继续为大家提供优质的内容,陪伴大家一起成长。
Github地址:
https://github.com/AirtestProject
下载地址及超详细教程地址:
http://airtest.netease.com
http://airtest.netease.com/tutorial/Tutorial.html
(本文为 AI科技大本营原创文章,转载请微信联系 1092722531。)
推荐阅读:
AI被“横扫”反噬?
如何帮新手程序员快速分析 Error?
ProgPow:以太坊上浮世绘
名下企业比老板刘强东还多,京东“最强女助理”张雱什么来头?
互联网巨头的春晚江湖
一万多条拼车数据,看春运迁移大军
30个让程序员崩溃的瞬间,笑死我了
程序员给银行植入病毒,分 1300 次盗取 718 万,被判 10 年半!
点击“阅读原文”,打开CSDN APP 阅读更贴心!
相关文章:

【驱动】GPIO 作为按键时的 设备树 配置
#【驱动】GPIO作为按键时的 设备树 配置 0、设备树 0.0 别名 imx6ul.dtsi 什么作用??? /*************开始/ / { aliases {… gpio0 &gpio1; gpio1 &gpio2; gpio2 &gpio3; gpio3 &gpio4; gpio4 &gpio5; /**********…

最小树形图及其生产方法
诸位看官,这是我第一次在整篇文章的所有图片里面加水印。小弟写博客的时间不长,就有两篇博客被盗用并未注明原文网址。这一方面使我痛心不已,另一方面迫使我不得不重新考虑一下版权保护问题。小弟不是吝啬鬼,如果影响阅读或者是确…

【数据库】MySQL的C语言接口学习
0、【初始化】 MYSQL* mysql_init(MYSQL *mysql); 1、【设置连接选项】 int mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg); 2、【连接】 MYSQL* mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, cons…

程序员单身比例有多高?【2019开发者图鉴】告诉你
编辑 | Jane 出品 | AI科技大本营 本次调查共 8 个问题,根据这些数字我们整理了《2019开发者图鉴》,下面营长将发现的一些有意思的数字分享给大家: 性别与年龄 本次参与调查的男女比例约为 8:2(男8女2)。 …

26.2. Web UI
http://localhost:3000/ 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

VC++ 6.0的小花招
Visual Studio系列中产品中,Visual Studio 6.0是最经典的一个版本,虽然后来有Visual Studio .NET 2003,以及2005,也确实添加了很多让我觉得激动的特性,但是从使用细节的细腻程度上来看,VS 6.0无疑是最棒的。…

【linux】嵌入式中 crontab的使用
0、编辑 执行:crontab -e 执行命令后,将出现一个编辑界面,内容格式如下 Minute Hour Day Month Dayofweek command 分钟 小时 天 月 天每星期 命令 每个字段代表的含义如下: Minute 每个小时的第几分钟执行该任务 Hour 每天的第几…

程序员该怎么做,才能成为coding王者?
每当做编程题目时,大多数人都会靠基本的直觉,遵循一些固定的步骤来有效地解题。不管是有意还是无意,在做编程题目的时你会下意识地遵循一些步骤,在阅读完这篇文章后你就可以将这些步骤和这篇文章联系起来,从而就可以更…

27.3. source code
tar zxvf bandwidthd-2.0.1.tgz cd bandwidthd-2.0.1 ./configure --prefix/srv/bandwidthd-2.0.1 make make install 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

WF4.0实战(一):文件审批流程
http://www.cnblogs.com/zhuqil/archive/2010/04/13/DocumentApprovalProcess.html转载于:https://www.cnblogs.com/Little-Li/archive/2010/06/01/1749392.html

AI科技大本营在线公开课大放送(附演讲PPT)
新年新思!新一年,每个人的梦想都闪耀着多彩光芒,对于AI领域的每一位学习者和从业者,我们充满渴望,怀揣梦想,心系对技术的不懈追求。AI科技大本营同样也有自己的新年梦想和脚踏实地的规划,比如今…

《微信跳一跳》安卓手机刷分软件搭建及攻略
2019独角兽企业重金招聘Python工程师标准>>> 元旦期间被微信小程序的游戏刷屏幕了。手笨脚笨的我也尝试了下这新出的小玩意,实在话手脚不协调最高仅仅90分,处于做技术的角度,直觉上可以技术上模拟解决,凑好朋友在微信群…

【libevent】libevent库学习总结(一)——基础
libevent库学习总结(一)——基础 一、基础 1.1、 介绍 Libevent是一个用于开发可伸缩网络服务器的事件通知库。Libevent API提供了一种机制来执行回调函数,当某个特定事件发生在文件描述符上或超时到达之后。此外,Libevent还支…

AS1.0(2.0)中的XML示例
虽然Flash早就升级为AS3.0,但是FMS的服务端编程依然仅支持AS1.0(2.0),服务端与.net通讯的最简单方式莫过于请求一个RESTful的webService或wcf,通过它们返回的xml来获取数据。 var _xml:XML new XML("<ArrayOfstring xmlns\"htt…

【Qt】Qt发布可执行程序(打包依赖库)
Qt发布可执行程序(打包依赖库) 0、编译出可执行文件 如:xxx.exe 1、将xxx.exe拷贝到一个目录下面 2、启动Qt终端交互界面程序 如:Qt 5.6 for Desktop(MinGW) 3、进入xxx.exe所在的目录 4、执行命令…

小编说之“常见问题答疑”
2019独角兽企业重金招聘Python工程师标准>>> 关于前嗅Forespider爬虫的常见问题答疑 奋战在一线为客户答疑的狗蛋儿给小编提供了很多客户经常会问到的问题的素材,小编帮大家整理了一些,快来看看是不是都用的上吧! 一、采集预览没有…

给AI开发者的新年礼物,技术公开课大放送(附演讲PPT)
各位AI科技大本营的伙伴大家好,营长携编辑组的全体成员给大家拜年了! 新年新思!新一年,每个人的梦想都闪耀着多彩光芒,对于AI领域的每一位学习者和从业者,我们充满渴望,怀揣梦想,心系…

通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)...
有时候,真想做个像样的东西出来,但是往往各方面的能力都不够,这么多人,Helper(767870484)仔细认真的阅读了这个帮助手册、并给给于了指正,在这里非常感谢,你的劳动成果已经被通用权限…

Reddit欲融资3亿美元,由腾讯领投
整理 | 一一出品 | AI科技大本营(ID:rgznai100)AI科技大本营消息,据 TechCrunch 报道,多个信源透露,美国社交网站 Reddit 将融资 1.5 亿到 3 亿美元,D 轮融资将由中国科技巨头腾讯公司领投,投前…

【libevent】libevent库学习总结(二)——编程步骤
一、libevent编程步骤 0、分配并初始化event_base,两种方法 0.1 event_base_new:线程安全,代替event_init; 0.2 event_init:线程不安全,不推荐使用,仅仅是为了向后兼容 1、创建event…

HP交换机配置命令
1.命名hostname 7-West-4F-2510 2.设置管理IPvlan 1ip address 192.168.41.123 255.255.255.03.修改支持的默认vlan数max-vlans 64max-vlans //修改vlan的数量,默认只有8个,修改后需重启后才可生效4.重启reload //重启交换机5.配置v…

【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed
【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed 错误打印信息 Starting E:*exe… 程序异常结束。 E:*.exe crashed. 原因 使用到外部库,编译时,指定了库连接,但是在程序运行时找不到库…

近900000条if-then关系图谱,让神经网络“懂”常识推理
编译整理 | 一一出品 | AI科技大本营(ID:rgznai100)“神经网络能学习日常事件的常识推理吗?能,如果在 ATOMIC 上训练的话。”ATOMIC(原子) 是一个机器常识图集,一个用自然语言建立的 870, 000 个…

weex 阶段总结
新年伊始,回顾过去的一年,收获很多,之前一直在研究weex,说心里话感觉心好累,官方文档不全,社区不活跃,遇到很多坑,官方发布的版本有时都有坑,搞得我都不敢更新版本了。 但…

DOS批处理高级教程精选(六)
为什么80%的码农都做不了架构师?>>> 第五章 set命令详解 很久没发贴了,今天来写点讲BAT的新手教学贴! 在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能. 一、用set命令设置自定义变量 显示、设置或删除 cmd.exe …

8.11. Migrating MySQL Data into Elasticsearch using logstash
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html 8.11.1. 安装 logstash 安装 JDBC 驱动 和 Logstash curl -s https://raw.githubusercontent.com/oscm/shell/master/database/mysql/5.7/mysql-connector-java.sh | bash curl -s https://ra…

佩奇扑街、外星人疯狂!Python 告诉你大年初二应该看哪部电影
作者 | 罗昭成责编 | 唐小引转载自 CSDN资讯(ID:CSDNnews)引言2019 年 1 月,《啥是佩奇》短片在互联网快速传播,各大社交平台形成刷屏之势。不到 24 小时,官博发出的视频已经收获 2800 万次观看,…

【POCO】POCO学习总结(二)——配置选择
使用方法: configure {options} options总结 –help:打印帮助 –config< config_name> 使用给定配置,在poco-1.7.8p3-all/build/config目录下,可以在对应的配置文件中修改编译工具的路径和名字,编译时的选项等。 AIX Darw…

告别排队!用Python定时自动挂号和快捷查询化验报告
作者 | 阿文来源 | 程序人生(ID: coder_life)我什么要做这个事情去年单位体检查出问题来,经过穿刺手术确诊是个慢性肾脏病2期, IGA 肾病三期,可能大家对于这个病并不是很了解,但是另外一个词可能大家都听过…

【POCO】POCO学习总结(三)——交叉编译
最小功能编译 编译选项:–minimal :只构建XML, JSON, 工具 and 网络 1 修改配置文件 $ vi poco-1.7.8p3-all/build/config/ARM-Linux13 LINKMODE ? SHARED 14 TOOL ? arm-linux 15 POCO_TARGET_OSNAME Linux 16 POCO_TARGET_OSARCH ? armv7l 主要…