Airtest入门篇
Airtest是啥?
简单理解:基于图像识别的UI自动化测试框架
俗人理解:截图即可完成自动化测试
适用场景:游戏、APP、PC软件,支持Window、Android、IOS
Airtest官方文档
官网:https://airtest.doc.io.netease.com/
快速上手系列:https://airtest.doc.io.netease.com/tutorial/0_automated_testing/
AirtestIDE使用文档:https://airtest.doc.io.netease.com/IDEdocs/getting_started/AirtestIDE_install/
官方博客:https://juejin.im/user/5dc8c4ba6fb9a04a95289e6e/posts
tips:如果会Python当然最好啦,因为在AIrtest脚本中是支持你写Python脚本滴
大概
目前博主业务中只涉及PC端软件,所以这里也只大概介绍如何针对PC端软件自动化测试
主要实际应用场景
- 一般用来跑一些主流程,看看是否会有概率性问题出现
- 验证偶现问题是否已bugfix
- 涉及一些重复性的操作
连接Window窗口

- 若要选中桌面,直接选中桌面模式不要用【选定窗口】的方式来选择桌面
- 推荐使用【选定窗口】,不推荐使用【搜索窗口】
.air脚本解析
实际上.air脚本文件时一个普通的文件夹,里面附带一个同名的.py文件,两者必须同名


初始化环境
auto_setup(basedir=None, devices=None, logdir=None, project_root=None)
自动配置初始化运行环境,如果当前没有连接设备的话,就默认尝试连接Android设备。

如果auto_setup不传入任何参数的话,Airtest将会读取运行时命令行中传入的各项参数,来对环境进行初始化。(即:auto_setup(__file__))
运行脚本
方式一:使用命令行运行脚本
airtest run untitled.air --device 设备 --log日志
方式二:使用AIrtestIDE运行脚本
AirtestIDE安装目录 runner air脚本目录 --device 运行脚本的设备 --log 日志存放目录
"E:\AirtestIDE_2019-09-11_py3_win64\AirtestIDE" runner "C:\Users\user\Desktop\airteach.air" --device Windows:///198894 --log "F:/Airtest_logs\d77c305860c92615b15f443398ec3f57"
设备连接
- 如果在执行命令行时连上设备(没有加上--device),可以在脚本代码中使用connect_device接口来连接设备。例:connect_device("Windows:///198894")
- device() 接口可以获取当前使用中的设备,如果是window就会返回窗口句柄(198894)
- Airtest支持一个脚本同时连接多个设备,使用set_current接口可以在多个设备中进行切换
核心包
- airtest.core.api 跨平台核心包
- airtest.core.android Android平台专属包
- airtest.core.ios IOS平台专属包
- airtest.core.win window平台专属包
图片类Template介绍
touch(Template(r"tpl1556019871196.png", record_pos=(0.204, -0.153), resolution=(1280, 720)))
Template即Airtest封装的图片类,运行时会先去读取这张图片,然后在当前画面中找到最符合这张图片的坐标点,最后才执行touch点击
参数一:图片名
参数二:record_pos 根据这位置附近查找找不到符合条件的图片,再扩大寻找范围到整个画面
参数三:resoution 画面分辨率,如果在不同设备上回放脚本,Airtest将会对当前画面的分辨率按照比例进行一定的缩放,方便图片的跨分辨率匹配。
Airtest入门篇的更多相关文章
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- spring boot(一):入门篇
构建微服务:Spring boot 入门篇 什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- 一个App完成入门篇(七)- 完成发现页面
第七章是入门篇的倒数第二篇文章了,明天整个APP将进入收官. 本节教程主要要教会大家使用二维码扫描和用do_WebView组件加在html页面. 导入项目 do_WebView组件 扫描功能 自定义事 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- 转:OSGi 入门篇:模块层
OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...
- 转:OSGi 入门篇:生命周期层
OSGi 入门篇:生命周期层 前言 生命周期层在OSGi框架中属于模块层上面的一层,它的运作是建立在模块层的功能之上的.生命周期层一个主要的功能就是让你能够从外部管理应用或者建立能够自我管理的应用(或 ...
- 【three.js详解之一】入门篇
[three.js详解之一]入门篇 开场白 webGL可以让我们在canvas上实现3D效果.而three.js是一款webGL框架,由于其易用性被广泛应用.如果你要学习webGL,抛弃那些复杂的 ...
- [Maven]Apache Maven 入门篇
作者:George Ma 上 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 ma ...
随机推荐
- win10系统激活 快捷方式
系统不定期就会提示激活,每次激活都是找各种工具折腾,今天捣鼓简单的脚本直接激活~~ 首先查看自己系统的版本,后面才能找到合适的激活码 win+R 启动程序 输入 winver 即可查看系统版本 2.查 ...
- JVM系统属性 OS环境变量 JVM启动参数
JVM系统属性(System Properties) 1.不支持通过文件查看和设置系统属性 2.可以通过JDK自带的工具jvisulavm.exe查看 3.可以在Java程序中使用API来查看系统属性 ...
- VC++ CMsflexgrid 使用
引用actvie x :microsoft CMsflexgrid; BOOL CCalibrationCoordsDisDlg::OnInitDialog() { CDialog::OnInitDi ...
- vueX中使用namespaced
用法: namespaced:true; getter调用时: this.$store.getters['XXX/getXXX']; commit调用时: this.$store.commit('XX ...
- ASP.NET MVC4.0+EF+LINQ+bui+bootstrap+网站+角色权限管理系统(开篇)
系统预览: 源码下载:http://www.yealuo.com/Home/Detail?KeyValue=2f926407-f80b-4bff-a729-949a53efed7b 创建项目,新手按步 ...
- Linux 内核
在接口总线领域的最新的一项是外部总线的整个类. 这包括 USB, 固件, 和 IEEE1284(基 于并口的外部总线). 这些接口有些类似于老的非外部的技术, 例如 PCMCIA/CardBus 和 ...
- 安装低版本Microsoft .NET Framework 4.5受阻解决方案
在VS目标框中找不到Microsoft .NET Framework 4.5,项目出错,安装受阻.... 1.Microsoft .NET Framework 安装了高版本后,低版本通过网上上下载的d ...
- 【python测试开发栈】—帮你总结Python os模块高频使用的方法
Python中的os模块是主要和系统操作相关的模块,在平时的工作中会经常用到,花时间整理了os模块的高频使用方法,同时整理出使用时需要注意的点.归纳来讲,os模块的方法可以分为:目录操作.文件操作.路 ...
- 如何看Crash 文件
如何查看崩溃日志 好了,获得是人类可读语言的崩溃日志后,或者是从别人手机到处崩溃日志后,下一步就是查看了.下面就正对一个程序猿该如何看稍微说说. 崩溃日志头 1 2 3 4 5 6 7 8 9 ...
- linux下安装MariaDB数据库
搜素某个文件:find / -name '文件名(或文件夹名)' 1.编辑yum源:vi /etc/yum.repos.d/MariaDB.repo 2.编辑文件时用到的vi命令: vi 打开一个不存 ...