一:简介

什么是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. IM开发通信协议基础知识(一)---TCP、UDP、HTTP、SOCKET

    感谢大佬:https://www.cnblogs.com/sixindev/p/4723590.html 下面这些内容不了解也可以进行开发,深入了解一下还是收益良多 区别 TCP.UDP.HTTP.S ...

  2. opcache,opcode,apc和apcu的区别

    opcode opcode是php解析器生成的操作码,类似java的字节码,main.class文件. opcache opcache是php的扩展,是一个实现将PHP字节码(OPCode)缓存到共享 ...

  3. 简单实现UITableView索引功能(中英文首字母索引) (二) By HL

    简单实现UITableView索引功能(中英文首字母索引)(一) ByH罗 相关类: NSString+PinYing(获取中英文首字母)   参考上面链接 #import "ViewCon ...

  4. 使用GDataXML生成、修改XML文档-陈棚

    使用GDXML生成XML文档的步骤如下. 1.调用GDataXMLNode的elementWithName:方法创建GDataXMLElement对象,对象作为XML文档的根元素. 2.调用GData ...

  5. GitHub page创建

      这是我的博客,才刚刚建成请多多指教 https://henryztong.github.io/ 以下地址都是关于创建GitHub 博客的: 地址 说明 https://pages.github.c ...

  6. jquery-easyui环境的搭建及测试

    对于软件开发者来说,一个良好的前端框架不仅能够使页面优美可观而且还能够大大的提高开发效率.提高系统整体界面的美观,框架将常用的功能封装完成,减少工作量.前端框架目前也比较多,小编本次主要介绍下easy ...

  7. [源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)

    [源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3) 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3) 0x00 摘要 0x01 回顾 0x0 ...

  8. Solution -「多校联训」最大面积

    \(\mathcal{Description}\)   Link.   平面上有 \(n\) 个点 \(A_{1..n}\),\(q\) 次询问,每次给出点 \(P\),求 \[\max_{1\le ...

  9. HashTable源码学习

    一.介绍 1.HashMap和HashTable的区别 1.相同点 二者都实现了Map接口. 底层都是哈西表 2.不同点 Hashtable继承自Dictionary类,而HashMap继承自Abst ...

  10. [LeetCode]2.Add Two Numbers 两数相加(Java)

    原题地址: add-two-numbers 题目描述: 给你两个非空的链表,表示两个非负的整数.它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字. 请你将两个数相加,并以相同形式返回 ...