第一章 APP自动化环境搭建(Mac版)
第二章 APP自动化环境搭建(Windows版)
第三章 adb命令
第四章 元素定位、元素操作
第五章 APP自动化测试框架搭建 Python+Appium+pytest-html
第六章 uiautomator2、web-editor基础操作
第七章 Airtest基础操作
第八章 ATX Server2多设备集群环境搭建
文章目录
一、Airtest安装
1、下载
官网下载地址:https://airtest.netease.com/changelog.html,根据自己系统对应下载即可。
2、安装
Windows解压之后在解压包内找到AirtestIDE.exe⽂件,打开AirtestIDE;
Mac则傻⽠式安装,注意需要权限给予;
3、启动
双击AirtestIDE打开,会弹出登录界面,直接点击右下角skip跳过即可。连上后点击刷新ADB,右侧即可看见设备,点击connet就能同步设备界面。手机上弹出安装Yosemite记得点击同意安装。
二、Airtest的使用方式
1、使用airtestIDE直接生成脚本并直接运行
①左上角点击+号,选择.air Airtest项目
②APP自动化进需要使用Airtest辅助窗,可以点开窗口,去掉Poco Assistant 和 Selenium Window 勾选。
点击左侧touch后,Log查看窗提示下一步如何操作,在屏幕范围内框选出你要操作的APP,双击鼠标
双击后可以看见脚本编辑窗多了touch及框选出的区域。运行脚本点击上方三角执行按钮即可。
也可以将想要执行的代码选中,右键只运行选中代码。
其他操作:
名称 | 操作 |
---|---|
wait | 等待 |
swipe | 滑动 |
exists | 存在判断 |
text | 输⼊内容 |
keyevent | 键位操作 |
snapshost | 截图 |
sleep | 进程休眠 |
assert_exists | 判断是否存在 |
assert_not_exists | 判断是否不存在 |
assert_equal | 判断是否相等 |
assert_not_equal | 判断是否不相等 |
2、使用airtestIDE生成脚本,使用脚本运行
前提内容:
start_app() # 这个是⼀种打开指定APP的⼀种⽅式;括号内使⽤的是包名;
stop_app() # 这个是⼀种退出指定APP的⼀种⽅式;括号内使⽤的是包名;
#⽐如:
app = "com.baidu.searchbox"
start_app(app)
stop_app(app)
使用airtestIDE⽣成一个简单的脚本:
进入百度首页,点击热搜tab,校验已进入热搜页面
3、使用Pycharm创建虚拟环境
在虚拟环境中安装两个包:
pip install airtest
pip install pocoui
4、将airtestIDE的脚本复制到pycharm中
# @Time : 2022/7/15 17:10
# Author : 拒绝内卷的小测试
# -*- encoding=utf8 -*-
__author__ = "拒绝内卷的小测试"
from airtest.core.api import *
auto_setup(__file__)
app = "com.baidu.searchbox"
start_app(app)
wait(Template(r"tpl1657872541796.png", record_pos=(-0.194, -0.73), resolution=(1080, 2400)))
touch(Template(r"tpl1657872574591.png", record_pos=(-0.194, -0.737), resolution=(1080, 2400)))
snapshot(filename="百度热搜截图.png",msg="校验进入热搜tab内")
assert_exists(Template(r"tpl1657872707696.png", record_pos=(-0.003, -0.745), resolution=(1080, 2400)), "校验进入热搜tab内")
assert_exists(Template(r"tpl1657873309826.png", record_pos=(-0.109, -0.042), resolution=(1080, 2400)), "肯定不存在,报错")
stop_app(app)
代码复制过来后,图⽚变成了数据,此时我们需要将图片复制过来,在Airtest IDE的脚本名上右键,选择打开当前项目目录
在打开的项目目录中将所有的图片文件复制并粘贴到Pycharm新建的项项的根目录下即可
5、运行脚本
配置脚本运⾏环境 AndroidUiautomationPoco,在导包出添加
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
AndroidUiautomationPoco()
添加后即可正常运行脚本,首次运行手机上会有安装PocoService的提示,记得同意安装
# @Time : 2022/7/15 17:10
# Author : 拒绝内卷的小测试
# -*- encoding=utf8 -*-
__author__ = "拒绝内卷的小测试"
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
AndroidUiautomationPoco()
auto_setup(__file__)
app = "com.baidu.searchbox"
start_app(app)
wait(Template(r"tpl1657872541796.png", record_pos=(-0.194, -0.73), resolution=(1080, 2400)))
touch(Template(r"tpl1657872574591.png", record_pos=(-0.194, -0.737), resolution=(1080, 2400)))
snapshot(filename="百度热搜截图.png",msg="校验进入热搜tab内")
assert_exists(Template(r"tpl1657872707696.png", record_pos=(-0.003, -0.745), resolution=(1080, 2400)), "校验进入热搜tab内")
assert_exists(Template(r"tpl1657873309826.png", record_pos=(-0.109, -0.042), resolution=(1080, 2400)), "肯定不存在,报错")
stop_app(app)
运行后我们是可以看见断言失败的message的
当把失败的断言注释掉后,代码正常运行无报错
6、代码下载
随手点赞一次,运气增加一份。