有朋友说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信息。具体步骤如下

  1. 连接iOS手机,启动ios-Tagent项目,以Test方式运行到手机上。
  2. 使用iproxy命令启动代理 bash iproxy 8100 8100 如果希望在另外一台电脑连接iOS手机,可以安装wdaproxy
  3. 启动Airtest IDE, 输入proxy地址,即可连接iOS手机 

  4. 选择Poco辅助窗中的iOS模式,即可看到当前界面的UI树结构: 

  5. 获取到界面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相关推荐

  1. POCO软件测试自学,自动化UI测试工具airtest 之V2.2 airtest文档学习POCO

    图片发自简书App 一个编程大白,我在学自动化UI测试工具airtest. 一.硬件软件的准备与连接 二.学习AirtestIDE官方文档 三.用Airtest对多台手机操控 四.纯python代码操 ...

  2. python常用类库_Python常用库

    Python常用库 一.time:时间处理模块 import time 1.time.time() time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). import tim ...

  3. NumPy和Pandas常用库

    NumPy和Pandas常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数 ...

  4. 【Python学习系列三】Windows下Python第三方常用库安装

    Python有丰富的第三方库,提供丰富的爬虫.数据分析等功能. 方法一:下载完整包,含编译器和常见库,https://www.continuum.io/downloads/          针对操作 ...

  5. python常用库 自动化办公类 —— PyPDF2(处理pdf文件)

    python常用库 自动化办公类 -- PyPDF2(处理pdf文件) 摘要 PyPDF库的安装 PyPDF库的常用功能 文字提取 合并pdf文件 旋转pdf页面 pdf文件加密 摘要 本文主要介绍了 ...

  6. python的爬虫库_python做爬虫常用库

    python做爬虫常用库 一.总结 一句话总结: urllib:一系列用于操作URL的功能. requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后 ...

  7. golang常用库:字段参数验证库-validator使用

    一.背景# 在平常开发中,特别是在web应用开发中,为了验证输入字段的合法性,都会做一些验证操作.比如对用户提交的表单字段进行验证,或者对请求的API接口字段进行验证,验证字段的合法性,保证输入字段值 ...

  8. pip工具使用总结以及常用库PIL、freetype的安装

    pip工具安装使用 pip为python库软件管理工具pip docs 安装 wget https://bootstrap.pypa.io/ez_setup.py -O - | python 安装se ...

  9. [转载] python常用库

    参考链接: Python–新一代语言 转载至:https://www.cnblogs.com/jiangchunsheng/p/9275881.html 今天我将介绍20个属于我常用工具的Python ...

最新文章

  1. 在VM虚拟机中 CentOS7安装VMware Tools(超级详解)
  2. 检测你的机子上装了什么版本的.net framework
  3. 计算圆形是否和正方形相交 【微软面试100题 第二十三题】
  4. Hadoop新手篇:hadoop入门基础教程
  5. 浅析State-Thread
  6. Microsoft.XMLHTTP 使用方式
  7. 汽车电子专业知识篇(七)-什么是XCP协议
  8. linux怎么测试一个脚本,一个Linux中用于监控的简易shell脚本
  9. Ubuntu 下安装tomcat和配置eclipse的遇到的问题的一点心得。
  10. 世界名着100部简介
  11. 感性电路电流计算_电流、电压、电阻的关系和单位换算表
  12. 关于惠普打印机可以打印但是无法扫描的问题
  13. 公众号要如何排版?这几个必备公众号排版技巧千万不要错过哦
  14. Openstack 经典面试问题和解答
  15. arm云服务器虚拟安卓,ARM搭建云手机
  16. 【OpenCV】之LUT函数
  17. 目标跟踪系列三:ECO: Efficient Convolution Operators for Tracking(2016年11月)
  18. 小程序 - 网址大全
  19. 行人属性识别一:训练PA100k数据集
  20. 嵌入式2.4内核上驱动USB无线网卡

热门文章

  1. 提交AppStore审核总有意外出现?美团被下架
  2. 调整系统时间,导致https站点无法访问,skype无法登陆等问题
  3. Oracle删除链接用户
  4. Oracle使用同义词
  5. 第一个Android 程序的源代码: TxtReader文本阅读器
  6. win7 64位 卸载ie11 方法
  7. Spring微服务间登录用户信息共享思路
  8. 《财务分析与策略》笔记
  9. 什么是Essay和Article?
  10. 125个基本的C#面试问答(为了以后能玩unity,转了吧,亲)