AirtestIDE详解(跨平台的UI自动化编辑器)
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自动化编辑器)的更多相关文章
- 详解Kubernetes微服务自动化发布系统
实施微服务架构后,原先单一的系统结构统变成了数量众多的微服务应用,开发.测试.运维部署等都会面临不少挑战.在微服务架构下如何提高工程研发效率,确保开发.测试.运维部署等流程上的顺畅,是微服务技术体系能 ...
- airtest自动化中的poco+python连接手机实现ui自动化
airtest:http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/index.html官网地址 AirtestIDE:跨平台的UI自动化测试编 ...
- 详解MathType中如何批量修改公式字体和大小
MathType应用在论文中时,有时会因为排版问题批量修改公式字体和大小,一个一个的修改不仅费时费力,还容易出现错误,本教程将详解如何在MathType公式编辑器中批量修改公式字体和大小. MathT ...
- async和await详解
async和await详解 1.非UI线程中执行 Test()函数带有async 和await ,返回值写成Task. 1 using System; 2 using System.Threadin ...
- 如何做ui自动化---步骤详解
第一步: 得到功能测试的常规用例,查看是否可以进行自动化,要明确,自动化不是为了自动化而自动化,自动化是节省人力,主要做回归测试,如果变动性特别大,不建议做自动化,具体可查看其它文章“什么适合做自动化 ...
- iOS开发——UI篇OC篇&SpriteKit详解
SpriteKit详解 SpriteKit,iOS/Mac游戏制作的新纪元 这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或 ...
- UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)
Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...
- Appium+python自动化(三十)- 实现代码与数据分离 - 数据配置-yaml(超详解)
简介 本篇文章主要介绍了python中yaml配置文件模块的使用让其完成数据和代码的分离,宏哥觉得挺不错的,于是就义无反顾地分享给大家,也给大家做个参考.一起跟随宏哥过来看看吧. 思考问题 前面我们配 ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
随机推荐
- 洛谷——P1168 中位数
P1168 中位数 题目描述 给出一个长度为NN的非负整数序列$A_i$,对于所有1 ≤ k ≤ (N + 1),输出$A_1, A_3, …, A_{2k - 1}A1,A3,…,A2k−1 ...
- Python-文件和数据格式化
文件的使用 >文件的类型 文件的理解:文件是数据的抽象和集合 -文件时存储在辅助存储器上的数据序列 -文件是数据存储的一种形式 -文件展现形态:文本文件和二进制文件 文本文件vs.二进制文件 - ...
- 腾讯云,搭建Http静态服务器环境
任务时间:15min ~ 30min 搭建静态网站,首先需要部署环境.下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务. 安装 Nginx 在 CentOS 上,可直接使 ...
- 【Codeforces 159B】Matchmaker
[链接] 我是链接,点我呀:) [题意] 笔和笔盖 笔有颜色和直径 笔盖也有颜色和直径 笔盖和笔如果直径相等 那么称为good 如果笔盖和笔直径相等.颜色也相等,那么称为very good 问你怎样安 ...
- Tensorflow Eager execution and interface
Lecture note 4: Eager execution and interface Eager execution Eager execution is (1) a NumPy-like li ...
- [luoguP1282] 多米诺骨牌(DP + 背包)
传送门 将问题转换成分组背包,每一组有上下两个,每一组中必须选则一个,上面的价值为0,下面的价值为1,求价值最小 因为要求上下两部分差值最小,只需从背包大小为总数 / 2 时往前枚举,找最小答案即可. ...
- Asp.Net页面生命周期[转]
一.什么是Asp.Net页面生命周期 当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面, 完全识别 HTTP 页 ...
- 洛谷 P2853 [USACO06DEC]牛的野餐Cow Picnic
P2853 [USACO06DEC]牛的野餐Cow Picnic 题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ ...
- python requests使用
参考:http://cn.python-requests.org/zh_CN/latest/ 1.使用requests发送请求: >>> r = requests.get('http ...
- UIView convertRect
CGRect newRect = [self.view.window convertRect:self.blueView.frame fromView:self.redView]; NSLog(@&q ...