Airtest 是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。

  AirtestIDE 是一个跨平台、多端(Windows、web、android、ios、游戏)的UI自动化测试编辑器,支持自动化脚本录制、一键回放、报告查看。

  • Game:通过图像识别和UI层次结构,支持所有游戏引擎和应用程序,使用方便。
  • Android:通过访问Android原生应用程序,可以发挥重要作用,即插即用。
  • IOS:通过poco可以访问iOS原生元素并找出它们的位置和属性,这使得iOS测试过程变得简单方便。
  • Windows:支持Windows应用程序,可以编写代码并在平台上运行它。
  • Web:基于Chrome Devtools协议,记录并生成selenium脚本,准确访问Web元素。

一、AirtestIDE 安装:

打开官网:http://airtest.netease.com/,点击下载,解压打开,找到AirtestIDE.exe文件,双击打开即可(包含了所有组件)。

二、AirtestIDE 界面:

 

0)主菜单:

  

  •   文件:脚本新建、打开、保存、另存为(对应下面前4个按钮)
  •   运行:脚本运行、停止、报告(对应下面后3个按钮)
  •   设备:支持多脚本运行(不常用)
  •   HeadSpin:合作伙伴介绍(可忽略)
  •   选项:设置、语言、皮肤
  •   窗口:1~6 窗口打开/关闭
  •   帮助:官方文档(http://airtest.netease.com/docs/cn/index.html)、主页(http://airtest.netease.com/)、GitHub(https://github.com/AirtestProject)、问题反馈

1)Airtest辅助窗:

  

  ① 截图:用于脚本图片识别(对应右上角第1个按钮)

  ② 录制:自动化脚本录制,可以为我们省去很大一部分脚本编写工作(对应右上角第2个按钮)

  ③ 操作

  

  ④ 辅助

  

  ⑤ 断言

  

  更多详解:http://airtest.netease.com/docs/cn/5_airtest_framework/airtest_all_module/airtest.core.api.html

2)脚本编辑器:

  

  文件格式默认是.air脚本,自动导入airtest.core所有api方法;如果你Python基础比较好,也可以直接写纯.py脚本。

3)设备窗:

  

  ① 面板切换:可以切换连接面板和Windows屏(对应右上角第1个按钮)

  ② 设置:可以显示辅助弹窗和断开当前设备(对应右上角第2个按钮)

  ③ 移动设备连接

  

  ④ Windows窗口连接

  

  ⑤ IOS设备连接

  

4)Poco辅助窗:

  

  针对你的测试对象选择对应架构,可以显示对象UI渲染树。

5)日志查看窗:

  

  执行日志(常用五个等级),默认是debug模式,会显示很多信息。如果你不做脚本调试,可以调整为Info模式,这样每步执行只会打印一行,相对会清晰很多。

6)Selenium窗(默认不打开):

  

  Airtest-Selenium是对selenium的python库做的一层封装:

  • 添加了部分图像识别的接口;
  • 多标签页的切换接口也进行了对应api封装;
  • 核心api运行时会自动进行log记录,可以生成网页版测试报告。

  详解参考:http://airtest.netease.com/docs/cn/8_plugins/2_selenium.html

三、常见问题:

  如果使用过程中出现什么异常问题,可以参考:http://airtest.netease.com/docs/cn/9_faq.html#

  

四、特别说明:

  iOS设备连接前置要求:

    1.  需要有一台mac电脑

    2.  需要iOS的开发者证书,付费或免费的均可

    3.  需要了解xcode的基础操作和用法

  —— 详情参考:http://airtest.netease.com/docs/cn/2_device_connection/4_ios_connection.html

 ----- 转载请注明原作,谢谢:https://www.cnblogs.com/leozhanggg/p/10971205.html 

AirtestIDE详解(跨平台的UI自动化编辑器)的更多相关文章

  1. 详解Kubernetes微服务自动化发布系统

    实施微服务架构后,原先单一的系统结构统变成了数量众多的微服务应用,开发.测试.运维部署等都会面临不少挑战.在微服务架构下如何提高工程研发效率,确保开发.测试.运维部署等流程上的顺畅,是微服务技术体系能 ...

  2. airtest自动化中的poco+python连接手机实现ui自动化

    airtest:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html官网地址 AirtestIDE:跨平台的UI自动化测试编 ...

  3. 详解MathType中如何批量修改公式字体和大小

    MathType应用在论文中时,有时会因为排版问题批量修改公式字体和大小,一个一个的修改不仅费时费力,还容易出现错误,本教程将详解如何在MathType公式编辑器中批量修改公式字体和大小. MathT ...

  4. async和await详解

     async和await详解 1.非UI线程中执行 Test()函数带有async 和await ,返回值写成Task. 1 using System; 2 using System.Threadin ...

  5. 如何做ui自动化---步骤详解

    第一步: 得到功能测试的常规用例,查看是否可以进行自动化,要明确,自动化不是为了自动化而自动化,自动化是节省人力,主要做回归测试,如果变动性特别大,不建议做自动化,具体可查看其它文章“什么适合做自动化 ...

  6. iOS开发——UI篇OC篇&SpriteKit详解

    SpriteKit详解 SpriteKit,iOS/Mac游戏制作的新纪元 这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或 ...

  7. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  8. Appium+python自动化(三十)- 实现代码与数据分离 - 数据配置-yaml(超详解)

    简介 本篇文章主要介绍了python中yaml配置文件模块的使用让其完成数据和代码的分离,宏哥觉得挺不错的,于是就义无反顾地分享给大家,也给大家做个参考.一起跟随宏哥过来看看吧. 思考问题 前面我们配 ...

  9. ANDROID L——Material Design详解(UI控件)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...

随机推荐

  1. [HNOI]2003 消防局的建立

    消防局的建立 本题地址:http://www.luogu.org/problem/show?pid=2279 题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料 ...

  2. java容器(数组和集合)内元素的排序问题

    package com.janson.day20180827; import java.util.*; /** * java中容器内对象的排序可以通过Collections.sort()和Arrays ...

  3. Linux 查看发行版版本信息和内核版本

    版本信息: cat  /etc/centos-release  或 redhat-release cat  /etc/issiue 内核信息:uname -r   或   uname  -a

  4. linux more-显示文件内容,每次显示一屏

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作.more名单中 ...

  5. LA 3029 City Game

    LA 3029 求最大子矩阵问题,主要考虑枚举方法,直接枚举肯定是不行的,因为一个大矩阵的子矩阵个数是指数级的,因此应该考虑先进行枚举前的扫描工作. 使用left,right,up数组分别记录从i,j ...

  6. [luoguP1316] 丢瓶盖(二分答案)

    传送门 二分答案再判断即可 ——代码 #include <cstdio> #include <iostream> #include <algorithm> #def ...

  7. 一些非常有用的工具类之javamail(from韩顺平)

    之前编写一个类淘宝服务器时,需要使用javamail发送邮件,搜到的一个工具类,很有用. 需要下载导入:activation.jar和mail.jar package com.cx.service; ...

  8. windows开启3306端口并用可视化工具访问远程mysql(授权访问)

    开启 MySQL 的远程登陆帐号有两大步: 1.确定服务器上的防火墙没有阻止 3306 端口. MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 330 ...

  9. - > 贪心基础入门讲解一——完美字符串

    约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写.(也就是说字母F和f)的完美度相同. ...

  10. iOS消息推送原理和实现总结

    一.消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图:1. Provider:就是为指定IOS设备应用程序提供Push的服务器,(如果IOS设备的应用程序是客户端的话,那么Provi ...