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基本介绍相关推荐

  1. python 自动抢红包_基于Airtest实现python自动抢红包

    一.Airtest的介绍 1)Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具. Airtest的框架是网易团队自己开发的一个图像识别框架,这 ...

  2. 浅尝UI自动化之Airtest实践

    1.浅尝UI自动化之Airtest实践 背景 由于很多公司都采用敏捷开发的模式,测试也要跟着进行敏捷测试.而每个迭代的周期非常短,经常要对原有功能进行回归测试,这样就增加了大量重复人力成本. 引入UI ...

  3. 【得物技术】浅尝UI自动化之Airtest实践

    一.背景 由于很多公司都采用敏捷开发的模式,测试也要跟着进行敏捷测试.而每个迭代的周期非常短,经常要对原有功能进行回归测试,这样就增加了大量重复人力成本.引入UI自动化测试可以用来快速回归测试app原 ...

  4. 《Python3网络爬虫开发实战(第二版)》内容介绍

    这是「进击的Coder」的第 505 篇分享 作者:崔庆才 大家好,本节首先来预告下即将出版的<Python3网络爬虫开发实战(第二版)>的主要内容. 由于我已经把书的总体的内容介绍写在了 ...

  5. 小程序自动化测试工具之AirTest

    01.背景 之前一直做 WEB UI与接口,最近有个自动化测试项目,是小程序,本来打算采用 Appium来做,但是经过实践我放弃了,Appium用于 App 测试比较多,对于小程序,好多人建议用 Ai ...

  6. Airtest基本使用

    一.Airtest相关介绍 Airtest一共给我们提供了两个库,分别是Airtest和Poco库,这两个库都是Python的第三方库,所以这两个库都是基于Python语言编写的.因此,在做UI自动化 ...

  7. python电脑微信抢红包神器,基于Airtest实现python自动抢红包

    一.Airtest的介绍 1)Airtest的简介 Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具. Airtest的框架是网易团队自己开发的一个图像识别框架,这 ...

  8. python-自动化Airtest-3IDE poco介绍

    python-自动化Airtest-3IDE poco介绍 python-自动化Airtest-3IDE poco介绍 一 : AirTest Poco 介绍 1> Poco 理解 2> ...

  9. 《Python3网络爬虫开发实战(第二版)》上市了!!!!

    " 阅读本文大概需要 5 分钟. " 告诉大家一个好消息:我的好朋友崔庆才老师的<Python3网络爬虫开发实战(第二版)>现在正式上市了!!!! 没错,就是这本: 就 ...

  10. android微信小程序自动填表_微信小程序自动化实战(一)

    一. Airtest工具介绍 1.1 Airtest简介 1) Airtest是网易开发的一款UI自动化测试框架 2) 两大核心功能: 基于poco的UI控件识别, 基于airtest的图像识别 1. ...

最新文章

  1. 数据预处理-异常值识别
  2. CSS设置文字不能被选中
  3. html给网页加图片背景颜色,0035 如何设置网页背景图和在网页中插入图片
  4. 一步步教你前端vue项目开发中如何解决跨域问题
  5. JQuery发起ajax请求,并在页面动态的添加元素
  6. 程序员在想些什么?拒绝盲猜,CSDN帮你精准洞察 Ta 们的心
  7. thinkphp 5.0 代码执行漏洞
  8. Spring : Spring @Transactional-嵌套事物处理
  9. py使用pie绘制饼图或圆环图
  10. 网易云信im即时通讯,php网易云信im即时通讯,tp,demo,即时通讯
  11. EAS提示对不起当前对象正在被其他操作锁定问题处理
  12. “主码的属性不能称之为主属性”和“若属性X函数依赖于属性Y时,则属性X与属性Y之间具有多对一的联系”
  13. 電子郵件退信原因及寄信錯誤查詢
  14. Java -- 用文本文档写代码
  15. 免费开源IM聊天项目,附截图github源码,启动简单
  16. 机器学习番外篇(1):极大似然估计和最小二乘法
  17. java sqlserver2014_java连接2014 sql server数据库应该用什么驱动
  18. SZTUOJ 1004.一二三
  19. 软件设计模式-中介者模式
  20. flutter 插件开发:分享插件只针对ios平台

热门文章

  1. YOLOv5训练自己的数据集(超详细完整版)
  2. notepad linux版本,Notepad++ Linux版
  3. 转贴 30岁你会站在哪?
  4. 统计学:从数据到结论(吴喜之)-- 读书笔记
  5. UTF-8与GBK互转,为什么会乱码
  6. 自己做量化交易软件(26)小白量化事件回测之MetaTrader5自动回测
  7. librdkafka问题小记
  8. 用luac给lua脚本加密
  9. 安卓屏幕朗读app_android录屏app推荐?安卓手机屏幕录制方法步骤教程
  10. Excel连接数据库