airtest基本介绍
airtest基本介绍
airtest其实由三部分构成 airtestIDE airtest框架 poco框架
airtestIDE(集成开发环境)
是网易出品的一款非开源的工具 用于帮助我们实现自动化的相关脚本创建 编写
airtest框架
基于图像识别的开源自动化框架(理论上只要设备不黑屏白屏蓝屏异常情况) 都可以通过图像进行定位
poco框架
基于元素进行定位的开源自动化框架(类似于使用webdriver定位元素 语法不一样)
airtest连接设备问题注意点
官网连接设备文档 https://airtest.doc.io.netease.com/IDEdocs/3.2device_connection/2_emulator_connection/
连接真机问题参考地址 https://mp.weixin.qq.com/s?__biz=MzA5NDYxNTU5NA==&mid=2247489153&idx=1&sn=abcc2b0df051c7122f3315d81d74a0d2&chksm=904ab7c4a73d3ed215c5c746d5ae76b3021c6903cc6ae646dc8c2c40b8e0b56b610a04f24683&cur_album_id=1891690652363456519&scene=189#wechat_redirect
连接模拟器问题参考地址 https://mp.weixin.qq.com/s?__biz=MzA5NDYxNTU5NA==&mid=2247489207&idx=1&sn=0fd171a8981fc3c67e8a7951aa8c273f&chksm=904ab7f2a73d3ee4ff4ce0046caee8cd2454bc31a44dd56983b77cdcb3f81ac3f4fe84de25fa&cur_album_id=1891690652363456519&scene=189#wechat_redirect
接过程中常见问题:
出现adb版本不匹配的错误
原因:电脑上存在多个adb文件 且版本不一致
需要将电脑上所有的adb.exe 变成统一版本(使用同一份文件进行覆盖替换)
常见adb.exe位置 你可以自己去 AndroidSDK文件 airtest文件夹 模拟器的安装文件夹下去搜索 adb.exe
AndroidSDK文件中的adb位置 AndroidSDK文件\platform-tools
airtest文件中的adb位置 AirtestIDE文件夹\airtest\core\android\static\adb\windows
未开启开发者选项 ,未允许USB调试,开发者选项内 打开禁止权限监控
Yosemite.apk文件所在位置 AirtestIDE\airtest\core\android\static\apks
pocoservice-debug.apk文件所在位置 AirtestIDE\poco\drivers\android\lib
airtestIDE使用
airtestIDE主要由 以下几个窗口构成
airtest辅助窗(airtest框架常用的api函数放在该位置 方便你直接使用)
poco辅助窗(类似于F12检查元素 这里显示当前手机页面的元素情况)
脚本编辑窗(在该窗口进行代码的编写)
日志查看窗(查看代码运行过程中的产生的相关数据)
设备窗(动态显示当前连接的设备)
文件新建脚本的时候建议 先确保手机连接
可以通过Android助手对话框 然后点击刷新获取当前app的包名及主界面名
可以在选项设置里面 勾选实时坐标显示 相对坐标 这样 鼠标移动到手机屏幕上会实时显示当前光标所在屏幕的相对坐标
airtest框架常用操作:airtest涉及到坐标操作都是绝对坐标(无法跨分辨率)
点击操作:
touch(图片/坐标,times=次数,duration=持续时间)
滑动操作:
swipe(图片,vector=[水平方向滑动百分比,垂直方向滑动百分比],duration=滑动持续时间)
文本输入:
text(文本内容,search=False)
必须确保手机Yosemite输入法打开 有些软件文本框输入内容后不会执行搜索 可以设置search=True即可实现自动搜索
键盘输入:
keyevent(键盘代码) 根据对应的键盘代码实现对应的操作 常见键盘码 返回首页 HOME 3 返回上一步 BACK 4 回车 ENTER 66 退格 DEL 67
airtest断言类操作:
assert_exists(图片, "请填写测试点") 判断图片是否存在,不存在报错
assert_equal("实际值", "预测值", "请填写测试点.") 判断实际值和预期值是否一致 类似于 assert 预期值==实际值
启动指定app:
start_app(包名)
关闭指定app:
stop_app(包名)
安装app:
install(包所在的路径)
卸载app:
uninstall(包名)
捏合操作(图片放大缩小):
pinch(in_or_out='in', center=None, percent=0.5)
in_or_out – 向内捏合或向外扩大,在[“in”, “out”] 中枚举一个值
center – pinch动作的中心位置,默认值为None则为屏幕中心点
percent – pinch动作的屏幕百分比,默认值为0.5
airtest常用api文档 https://airtest.readthedocs.io/zh_CN/latest/all_module/airtest.core.api.html
poco框架使用:类似于webdriver,涉及到坐标都是相对坐标
基于整个手机操作 类似于 driver(实例化出来的浏览器驱动对象)
基于屏幕点击某个位置
poco.click([x,y]) xy就是相对坐标
基于屏幕某个位置长按
poco.long_click([x,y], duration=2.0)
基于屏幕捏合操作
poco.pinch(direction='in', percent=0.6, duration=2.0)
得到屏幕尺寸
poco.get_screen_size() 返回一个列表 第一个元素是宽 第二个元素是高
基于屏幕滑动1
poco.scroll(direction='vertical', percent=0.6, duration=2.0)
direction是滑动方向 只能是 “vertical” 垂直,或者 “horizontal” 水平
基于屏幕滑动2
poco.swipe(p1, p2=None, direction=None, duration=2.0)
从p1位置滑动到p2位置 如果写方向 就可以不写p2 按照方向滑动
基于屏幕操作框架的api文档 https://poco-chinese.readthedocs.io/zh_CN/latest/source/poco.pocofw.html
基于元素对象操作 类似于 driver.find_element定位到一个ele元素后 ele的相关操作
定位元素的方式
ele = poco(属性名=属性值) 默认会找到当前页面所有符合条件的元素 但是如果直接对他操作 默认操作第一个
poco(nameMatches="") 可以针对name属性的内容 使用正则语法进行匹配
poco(textMatches="") 可以针对text属性的内容 使用正则语法进行匹配
ele元素对象的相关操作
对具体元素进行点击:
ele.click()
获取元素的相关属性:
ele.attr(属性名) ele.attr("text")==ele.get_text() ele.attr("pos")==ele.get_position()
ele.attr("name")==ele.get_name()
设置元素的相关属性:
ele.setattr(属性名,属性值) 这个方法只是单纯修改属性 如果想实现搜索类的操作需要执行回车或者搜索
ele.setattr("text",属性值)==ele.set_text("属性值")
针对元素对象进行拖动(滑动):
ele.drag_to(目标元素对象/相对坐标)
判断元素对象是否存在:
ele.exists() 返回布尔值 True表示存在 False表示不存在
针对元素进行长按:
ele.long_click()
针对元素进行滑动:
ele.swipe(direction, focus=None, duration=0.5) direction是一个列表 [x,y]
x是水平方向的偏移百分比 y是垂直方向的偏移百分比
针对元素进行水平或者垂直方向滑动:
ele.scroll(direction='vertical'/'horizontal', percent=0.6, duration=2.0)
基于元素对象操作 https://poco-chinese.readthedocs.io/zh_CN/latest/source/poco.proxy.html
https://juejin.im/post/6844904150728179725
airtest基本介绍相关推荐
- python 自动抢红包_基于Airtest实现python自动抢红包
一.Airtest的介绍 1)Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具. Airtest的框架是网易团队自己开发的一个图像识别框架,这 ...
- 浅尝UI自动化之Airtest实践
1.浅尝UI自动化之Airtest实践 背景 由于很多公司都采用敏捷开发的模式,测试也要跟着进行敏捷测试.而每个迭代的周期非常短,经常要对原有功能进行回归测试,这样就增加了大量重复人力成本. 引入UI ...
- 【得物技术】浅尝UI自动化之Airtest实践
一.背景 由于很多公司都采用敏捷开发的模式,测试也要跟着进行敏捷测试.而每个迭代的周期非常短,经常要对原有功能进行回归测试,这样就增加了大量重复人力成本.引入UI自动化测试可以用来快速回归测试app原 ...
- 《Python3网络爬虫开发实战(第二版)》内容介绍
这是「进击的Coder」的第 505 篇分享 作者:崔庆才 大家好,本节首先来预告下即将出版的<Python3网络爬虫开发实战(第二版)>的主要内容. 由于我已经把书的总体的内容介绍写在了 ...
- 小程序自动化测试工具之AirTest
01.背景 之前一直做 WEB UI与接口,最近有个自动化测试项目,是小程序,本来打算采用 Appium来做,但是经过实践我放弃了,Appium用于 App 测试比较多,对于小程序,好多人建议用 Ai ...
- Airtest基本使用
一.Airtest相关介绍 Airtest一共给我们提供了两个库,分别是Airtest和Poco库,这两个库都是Python的第三方库,所以这两个库都是基于Python语言编写的.因此,在做UI自动化 ...
- python电脑微信抢红包神器,基于Airtest实现python自动抢红包
一.Airtest的介绍 1)Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具. Airtest的框架是网易团队自己开发的一个图像识别框架,这 ...
- python-自动化Airtest-3IDE poco介绍
python-自动化Airtest-3IDE poco介绍 python-自动化Airtest-3IDE poco介绍 一 : AirTest Poco 介绍 1> Poco 理解 2> ...
- 《Python3网络爬虫开发实战(第二版)》上市了!!!!
" 阅读本文大概需要 5 分钟. " 告诉大家一个好消息:我的好朋友崔庆才老师的<Python3网络爬虫开发实战(第二版)>现在正式上市了!!!! 没错,就是这本: 就 ...
- android微信小程序自动填表_微信小程序自动化实战(一)
一. Airtest工具介绍 1.1 Airtest简介 1) Airtest是网易开发的一款UI自动化测试框架 2) 两大核心功能: 基于poco的UI控件识别, 基于airtest的图像识别 1. ...
最新文章
- 数据预处理-异常值识别
- CSS设置文字不能被选中
- html给网页加图片背景颜色,0035 如何设置网页背景图和在网页中插入图片
- 一步步教你前端vue项目开发中如何解决跨域问题
- JQuery发起ajax请求,并在页面动态的添加元素
- 程序员在想些什么?拒绝盲猜,CSDN帮你精准洞察 Ta 们的心
- thinkphp 5.0 代码执行漏洞
- Spring : Spring @Transactional-嵌套事物处理
- py使用pie绘制饼图或圆环图
- 网易云信im即时通讯,php网易云信im即时通讯,tp,demo,即时通讯
- EAS提示对不起当前对象正在被其他操作锁定问题处理
- “主码的属性不能称之为主属性”和“若属性X函数依赖于属性Y时,则属性X与属性Y之间具有多对一的联系”
- 電子郵件退信原因及寄信錯誤查詢
- Java -- 用文本文档写代码
- 免费开源IM聊天项目,附截图github源码,启动简单
- 机器学习番外篇(1):极大似然估计和最小二乘法
- java sqlserver2014_java连接2014 sql server数据库应该用什么驱动
- SZTUOJ 1004.一二三
- 软件设计模式-中介者模式
- flutter 插件开发:分享插件只针对ios平台