airtest api

Template 对象

  • Template 对象是airtest中常用和基础的类,在touch/swipe中需要用到此对象
    Template(filename, threshold=None, target_pos=5, record_pos=None, resolution=(), rgb=False, scale_max=800, scale_step=0.005)
  • filename: 图片路径
  • threshold:识别阈值,[0.0, 1.0],默认0.7,相似度达到0.7及以上表示匹配
  • target_pos: 图片点击位置,[1,9],默认是5,正中心
  • record_pos: 录制时在屏幕上的位置
  • resolution:录制时屏幕分辨率
  • rgb: 识别结果是否使用rgb三通道进行校验, 默认是False
  • scale_max: 多尺度模板匹配最大范围.默认是800
  • scale_step: 多尺度模板匹配搜索步长.默认是0.005

API

home():返回device的主页面

适用平台: Android, iOS
使用方法:home()

wake(): 唤醒设备

适用平台: Android
使用方法:wake()

init_device(platform=‘Android’, uuid=None, **kwargs): 初始化设备

platform:平台Android,Windows,IOS
uuid:Android 的序列号, Windows 的句柄, iOS 的 uuid
使用方法:init_device(platform="Windows",uuid="123456")

connect_device(uri):链接设备

适用平台: Android, iOS
使用方法:

connect_device(“iOS:///127.0.0.1:8100”) # iOS device
connect_device(“iOS:///http://localhost:8100/?mjpeg_port=9100”) # iOS with mjpeg port

auto_setup(basedir=None, devices=None, logdir=None, project_root=None, compress=None): 设置运行环境并且连接设备

  • basedir: 脚本路径
  • devices:设备uri
  • logdir:日志路径,默认是不保存的,如果设置为True保存在,/log目录下
  • compress:图片压缩率[1,99],默认是10

使用方法:

auto_setup(file, devices=[“Android://127.0.0.1:5037/SJE5T17B17”], logdir=True, project_root=r"D:\test\logs", compress=90)

start_app(package, activity=None):启动app

ios package的获取方法
适用平台: Android, iOS
使用方法:start_app("com.netease.cloudmusic")

stop_app(package):关闭app

适用平台: Android, iOS
使用方法:start_app("com.netease.cloudmusic")

install(filepath, **kwargs): 安装app

适用平台: Android
使用方法:install(r"D:\demo\test.apk")

uninstall(package): 卸载app

适用平台: Android
使用方法:uninstall("com.netease.cloudmusic")

swipe(v1, v2=None, vector=None, **kwargs): 滑动操作

v1、v2可以是Template 对象也可以是绝对坐标(x,y)
适用平台: Android, Windows, iOS
使用方法:
swipe(Template(r"tpl1606814865574.png"), vector=[-0.0316, -0.3311])
swipe((100, 100), (200, 200))

text(text, enter=True, **kwargs):输入内容

  • text :输入内容
  • enter: 在输入内容后是否输入Enter键,默认是true

适用平台: Android, Windows, iOS
使用方法:

text("test")
text("test", enter=False)

keyevent(keyname, **kwargs): 设备上的按键操作

适用平台: Android, Windows, iOS
使用方法:
android

keyevent("HOME")
keyevent("BACK")
keyevent("KEYCODE_DEL")

更多详见https://developer.android.com/reference/android/view/KeyEvent#constants_1
Windows

keyevent("{DEL}")
keyevent("%{F4}")  # close an active window with Alt+F4
keyevent("{DELETE}")

更多详见https://pywinauto.readthedocs.io/en/latest/code/pywinauto.keyboard.html
iOS 当前只支持以下三个按键

keyevent("HOME")
keyevent("volumeUp")
keyevent("volumeDown")

exists(v): template 是否存在

适用平台: Android, Windows, iOS
使用方法:

pos = exists(Template(r"tpl1606822430589.png"))
if pos:
touch(pos)

snapshot(filename=None, msg=‘’, quality=None, max_size=None): 截屏

filename: 截屏文件的名字,默认的路径是ST.LOG_DIR
msg: 图片的描述
quality:图片质量,[1,99],默认是10
max_size: 图片的最大尺寸, 比如:1200
适用平台: Android, Windows, iOS
使用方法:
snapshot(filename="test2.png", msg="test", quality=90, max_size=1200) 图片名字是test2.png, 大小不超过1200*1200,图片质量90

wait(v, timeout=None, interval=0.5, intervalfunc=None): 等待需要匹配的Template展示出来

适用平台: Android, Windows, iOS
使用方法:

def notfound():
    print("No target found")
wait(Template(r"tpl1607510661400.png"), timeout=120, interval=3, intervalfunc=notfound)

sleep: 等待时间,单位是秒

适用平台: Android, Windows, iOS
使用方法:sleep(1)

assert

assert 方法

学习文档:https://airtest.readthedocs.io/en/latest/all_module/airtest.core.api.html#airtest.core.api.touch

你可能感兴趣的:(总结,学习笔记,airtest,自动化,python)