Airtest入门篇

简介: 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端软件自动化测试


主要实际应用场景

  1. 一般用来跑一些主流程,看看是否会有概率性问题出现
  2. 验证偶现问题是否已bugfix
  3. 涉及一些重复性的操作


连接Window窗口


image.png

  • 若要选中桌面,直接选中桌面模式不要用【选定窗口】的方式来选择桌面
  • 推荐使用【选定窗口】,不推荐使用【搜索窗口】


.air脚本解析


实际上.air脚本文件时一个普通的文件夹,里面附带一个同名的.py文件,两者必须同名

image.png


初始化环境


auto_setup(basedir=None, devices=None, logdir=None, project_root=None)

自动配置初始化运行环境,如果当前没有连接设备的话,就默认尝试连接Android设备。

image.png

如果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将会对当前画面的分辨率按照比例进行一定的缩放,方便图片的跨分辨率匹配。



相关文章
|
2月前
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
286 13
|
2月前
|
数据可视化 IDE 开发者
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
【Python篇】PyQt5 超详细教程——由入门到精通(终篇)
193 1
|
2月前
|
Python
《Cython 从入门到精通》PDF 版本新鲜出炉啦!!!
《Cython 从入门到精通》PDF 版本新鲜出炉啦!!!
35 1
|
2月前
|
数据可视化 数据处理 数据库
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)
99 1
|
Java Maven
bukkit开发环境搭建 2
bukkit开发环境搭建
78 0
|
Java
bukkit开发环境搭建 1
bukkit开发环境搭建
75 0
|
测试技术
loadrunner入门教程(29) --场景查看
场景查看页面一些基本参数的查看
184 0
loadrunner入门教程(29) --场景查看
|
IDE 测试技术 API
一篇文章带你快速上手Airtest
一篇文章带你快速上手Airtest
369 0
用Python开发你的第一个小游戏 | Python从入门到精通:入门篇之二十三
经过了上节课的分析,这节课老师带大家开发小游戏。
用Python开发你的第一个小游戏 | Python从入门到精通:入门篇之二十三