一:简介

什么是Airtest

网易的airtest其实是个测试套件,由Airtest框架、poco框架、airtestIDE 组成。

Airtest框架

基于图像识别的自动化测试框架,是网易自己团队开发的。这个框架核心不在实现方式和技术上,而是理念!这个框架的祖宗是MIT(麻省理工)研究院的成果 Sikuli ,他们构思了一种全新的UI测试模式,基于图像识别控件而不是具体内存里的控件对象。理论上除了绿屏外,应该都能很好的识别并测试。

poco框架

网易自家的跨平台UI测试框架,原理类似appium,其实鹅厂也搞了个类似Poco的框架,叫做GAutomator,但无论是Poco还是GAutomator,他们也有个共同的祖宗,那就是xiaocong大大的uiautomator for python,让用python调用uiautomator成为可能。

但是,xiaocong的uiautomator只能抓取原生android的控件树,抓不了其他游戏引擎的,所以Poco和GAutomator就多做了一件事情那就是给各个游戏引擎开发SDK,把控件树数据dump出来然后回传,这样我们才能够在他们的Inspector工具里看到游戏内的控件树。而这个所谓的SDK本质上就是一个TCPServer跑在游戏里。

所以poco框架是用于抓取UI控件的

airtestIDE

这个就是完全网易自己家的东西,不开源的。IDE整合了airtest和poco两大框架,内置了Python3.6.5,本地无需安装python环境就能 直接使用 。提供了 adb工具、poco-inspector(抓ui控件)、设备屏录、图形化的脚本编辑器、便捷的ui截图工具等等一系列东西。已经很强大了,大大的提高了工作效率。

总结

Airtest是网易出品的一款基于图像识别和poco控件识别的一款跨平台的UI自动化测试工具。适用于游戏和App(本质上就是网易自己为了给游戏做自动化测试开发出来的一套框架)。后期又渐渐支持Windows和Android平台,iOS平台。 Airtest提供了跨平台的API,包括安装应用、模拟输入、断言等。 基于图像识别技术定位UI元素, 测试脚本运行后可以自动生成详细的HTML测试报告,让你迅速定位失败的测试点。 AirtestIDE 是一个强大的GUI工具,可以帮助你录制和调试测试脚本。

airtest和appium的区别

airtest优缺点

优点

1.AirtestIDE操作比较简单,基本上不涉及到代码,所以非常适合刚入门没什么测试经验的人利用这个工具做UI自动化测试,同时Airetest又提供了开源的API,让资深测试工程师可以基于Airtest的框架上再做高级的定制化扩展功能

2.基于图像识别和UI控件识别功能简单

3.支持python进行个性化脚本编程

4.可录制脚本一键生成报告

缺点

1.如果经常使用图像识别 脚本会产生大量的图片,会让脚本整体观感不太好(个人意见)。

2.目前相关技术文档不多,需要自己去查看源代码分析或者去官网或社区探索。

二:安装

去官网http://airtest.netease.com/changelog.html下载最新安装包

下载到本地后解压缩 目录下别有中文,最好直接解压到D盘下

即可成功启动 启动成功后页面如下

Airtest安装与简介的更多相关文章

  1. InfluxDB学习之InfluxDB的安装和简介

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  2. 第二百九十一节,RabbitMQ多设备消息队列-安装与简介

    RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...

  3. (转)阿里 RocketMQ 安装与简介

    原文:阿里 RocketMQ 安装与简介 一.简介 官方简介: l  RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: l  能够保证严格的消息顺序 l  提供丰富的消息拉取模式 l ...

  4. 尚硅谷Docker---docker安装及简介

    尚硅谷Docker---docker安装及简介 一.总结 一句话总结: docker就相当于是一个极微型的linux系统,独立 1.使用Docker的步骤? 1).安装Docker 2).去Docke ...

  5. 1.Cobaltstrike 安装与简介

    1.Cobaltstrike 安装与简介 一.简介 Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人内称为CS.自去年起, Cobaltstrike升级到3.0版本, ...

  6. Spark学习(一) -- Spark安装及简介

    标签(空格分隔): Spark 学习中的知识点:函数式编程.泛型编程.面向对象.并行编程. 任何工具的产生都会涉及这几个问题: 现实问题是什么? 理论模型的提出. 工程实现. 思考: 数据规模达到一台 ...

  7. 阿里 RocketMQ 安装与简介

    一.简介 官方简介: l  RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: l  能够保证严格的消息顺序 l  提供丰富的消息拉取模式 l  高效的订阅者水平扩展能力 l  实时的 ...

  8. flume1.5.2安装与简介

    关于flume的简介看参考:http://www.aboutyun.com/thread-7415-1-1.html 其实一张图就简单明了了 简单安装: 1.下载解压 ... 2.配置JDK,flum ...

  9. LR实战之Discuz开源论坛——安装及简介

    想了很久,也许是因为这段时间特别闲,从毕业到现在,我的测试职业生涯也近两年了,发现自己越来越喜欢测试领域,也越来越偏向测试开发了,作为一名专业的测试人员,不得不要学习性能测试,而使用LoadRunne ...

随机推荐

  1. mysql启动错误:mysql.sock丢失

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 我的是Cent ...

  2. java file已存在,新建流写入此文件是否会覆盖原本file信息

    java中建立文件输出流,当文件不存在时会新建一个文件:如果有同名文件,自动覆盖.不存在时自动建立.FileOutputStream的默认构造方法是直接覆盖掉原来的文件,而FileOutputStre ...

  3. SpringBoot+Dubbo+ZooKeeper+Maven入门实践

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11798626.html 注*** 本实例为仅适合初学者,关于dubbo和springboot以 ...

  4. Python--操作列表

    Python--操作列表 目录 Python--操作列表 一.遍历整个列表 1. 深入研究循环 2. 在for循环中执行更多操作 3. 在for循环结束后执行一些操作 二.避免缩进错误 1. 忘记缩进 ...

  5. Sublime Python3编译环境修改

    http://blog.csdn.net/qq_33304418/article/details/63337602     添加编译环境python3.6 Tools -> Build Syst ...

  6. Solution -「CF 1491H」Yuezheng Ling and Dynamic Tree

    \(\mathcal{Description}\)   Link. 做题原因:题目名.   给定一个长度 \(n-1\) 的序列 \(\{a_2,a_3,\cdots,a_n\}\),其描述了一棵 \ ...

  7. Solution -「HNOI 2007」「洛谷 P3185」分裂游戏

    \(\mathcal{Description}\)   Link.   给定 \(n\) 堆石子,数量为 \(\{a_n\}\),双人博弈,每轮操作选定 \(i<j\le k\),使 \(a_i ...

  8. Solution -「CF 1361E」James and the Chase

    \(\mathcal{Description}\)   Link.   给定 \(n\) 个点 \(m\) 条边的有向弱连通图.称一个点是"好点"当且仅当从该点出发,不存在到同一点 ...

  9. SpringMVC--@RequestMapping注解标注方法解析

    SpringMVC--@RequestMapping注解标注方法解析 本文是基于springboot进行源码追踪分析 问题 @RequestMapping注释的类及方法,Spring是何时,何种方式解 ...

  10. java-poi 批量导入excel数据

    1,首先,前端发送MultipartFile类型文件,后端接收 2,分别创建多个ImportParams对象(easypoi),对应工作蒲 注意:pom中 要有相对应的配置 <!-- easyp ...