Airtest 的常用库——poco
有朋友说Python最好用的编辑器是pycharm,但也有人说是airtest,(反正我都喜欢)
1. 前言
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的祖宗就是一种新颖的图形脚本语言Sikuli。Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。Airtest简直把电脑变成了树莓派这样的虚拟机!
另外,Airtest也基于poco这个U控件搜索框架,这个框架也是网易自家的跨平台U测试框架,原理类似于appium,通过控件的名称,id之类的来定位目标控件,然后调用函数方法,例如click(),swip()之类的方法来对目标控件进行点击或者是操作。
(airtesst需要配置,详见https://www.cnblogs.com/test095722/p/12932474.html)
2. Poco介绍
对于Android和iOS平台上的原生应用(包括系统界面),可以直接使用Poco
IOS 原生应用
对于iOS原生应用,Poco同样可以获取到UI层级结构。除了下载运行Airtest IDE之外,我们还需要运行ios-Tagent项目,才可以获取到iOS界面的UI信息。具体步骤如下
- 连接iOS手机,启动ios-Tagent项目,以Test方式运行到手机上。
- 使用
iproxy
命令启动代理bash iproxy 8100 8100
如果希望在另外一台电脑连接iOS手机,可以安装wdaproxy - 启动Airtest IDE, 输入proxy地址,即可连接iOS手机
- 选择Poco辅助窗中的
iOS
模式,即可看到当前界面的UI树结构: - 获取到界面UI层级关系之后,我们就可以用Poco提供的API来编写自动化脚本了~
3.poco处理语法
Poco是一款基于Python语法的、与引擎无关的自动化测试框架,它基于控件搜索原理,可以准确定位到应用里面的控件,并且对控件进行点击、滑动等操作:
1.poco ui——手机控件触摸 处理
#poco语法一:poco(text=应用名).click()
from airtest.core.api import *
#poco的初始化脚本
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
from airtest.core.api import * #导入airtest.core.api库所有内容(其中包括poco)
poco(text="微信").click() #点击微信
2.poco ui——手机控件滑动
#poco语法二:poco(text=xxx).swipe([x,y])
#poco的初始化脚本
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)# 控件点击操作
poco("网易云音乐").click()# 控件滑动操作
poco(text="和平使命").swipe([0.0492, -0.3799])
3.登录传值
#poco语法三:poco(ui元素).click()text(输入内容)
from airtest.core.api import *
#poco初始化
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
poco("tv.kotcotsn.bili:id/username").click()#寻找登录文本框
text("183xxxxxxxx")#text传值到登录文本框
4.poco ui直接touch
#语法四:touch(ui元素)
from airtest.core.api import *
#poco初始化
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
touch()#这里插入不了图片
5. 更多详细资料参考
请查看Poco官方文档获得更多教程与API信息。
Airtest 的常用库——poco相关推荐
- POCO软件测试自学,自动化UI测试工具airtest 之V2.2 airtest文档学习POCO
图片发自简书App 一个编程大白,我在学自动化UI测试工具airtest. 一.硬件软件的准备与连接 二.学习AirtestIDE官方文档 三.用Airtest对多台手机操控 四.纯python代码操 ...
- python常用类库_Python常用库
Python常用库 一.time:时间处理模块 import time 1.time.time() time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). import tim ...
- NumPy和Pandas常用库
NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...
- 【Python学习系列三】Windows下Python第三方常用库安装
Python有丰富的第三方库,提供丰富的爬虫.数据分析等功能. 方法一:下载完整包,含编译器和常见库,https://www.continuum.io/downloads/ 针对操作 ...
- python常用库 自动化办公类 —— PyPDF2(处理pdf文件)
python常用库 自动化办公类 -- PyPDF2(处理pdf文件) 摘要 PyPDF库的安装 PyPDF库的常用功能 文字提取 合并pdf文件 旋转pdf页面 pdf文件加密 摘要 本文主要介绍了 ...
- python的爬虫库_python做爬虫常用库
python做爬虫常用库 一.总结 一句话总结: urllib:一系列用于操作URL的功能. requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后 ...
- golang常用库:字段参数验证库-validator使用
一.背景# 在平常开发中,特别是在web应用开发中,为了验证输入字段的合法性,都会做一些验证操作.比如对用户提交的表单字段进行验证,或者对请求的API接口字段进行验证,验证字段的合法性,保证输入字段值 ...
- pip工具使用总结以及常用库PIL、freetype的安装
pip工具安装使用 pip为python库软件管理工具pip docs 安装 wget https://bootstrap.pypa.io/ez_setup.py -O - | python 安装se ...
- [转载] python常用库
参考链接: Python–新一代语言 转载至:https://www.cnblogs.com/jiangchunsheng/p/9275881.html 今天我将介绍20个属于我常用工具的Python ...
最新文章
- 在VM虚拟机中 CentOS7安装VMware Tools(超级详解)
- 检测你的机子上装了什么版本的.net framework
- 计算圆形是否和正方形相交 【微软面试100题 第二十三题】
- Hadoop新手篇:hadoop入门基础教程
- 浅析State-Thread
- Microsoft.XMLHTTP 使用方式
- 汽车电子专业知识篇(七)-什么是XCP协议
- linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本
- Ubuntu 下安装tomcat和配置eclipse的遇到的问题的一点心得。
- 世界名着100部简介
- 感性电路电流计算_电流、电压、电阻的关系和单位换算表
- 关于惠普打印机可以打印但是无法扫描的问题
- 公众号要如何排版?这几个必备公众号排版技巧千万不要错过哦
- Openstack 经典面试问题和解答
- arm云服务器虚拟安卓,ARM搭建云手机
- 【OpenCV】之LUT函数
- 目标跟踪系列三:ECO: Efficient Convolution Operators for Tracking(2016年11月)
- 小程序 - 网址大全
- 行人属性识别一:训练PA100k数据集
- 嵌入式2.4内核上驱动USB无线网卡