
大家好,手机试我是自动之IT共享者,人称皮皮。化测这篇我们来讲讲手机自动化测试IDE-----Airtest。基本
前言
前面我们讲到了Airtest的操作界面和安装技巧,今天我们就来说说Airtest的手机试具体操作方法吧,让我们轻松实现软件自动化,自动之真正解放我们的化测双手吧。
一、基本基本API介绍
我们在做自动化脚本的操作时候,每个生成的手机试脚本文件会给我们自动生成一些代码,如图:

这里所导入的自动之模块其实就是跨平台的API,除了跨平台的化测API还有平台特定的API,比如:
airtest.core.android #安卓平台 airtest.core.ios #苹果平台 airtest.core.win #Windows平台 这里我们来详细说说这些模块。基本
1.跨平台API模块
这里我们要介绍的操作第一个就是跨平台模块:
from airtest.core.api import * #导入所有方法
1).初始化设备
这里初始化设备我们也有两种方案,下面请看:
1)).根据设备的UUID来初始化
语法格式:
init_device(platform=Android,uuid=,cap_method=JAVACAP for Android) #平台 – Android,IOS或Windows #uuid –目标设备的uuid,例如,用于Android的亿华云计算serialno,用于Windows的handle,用于iOS的uuid #kwargs –可选的平台特定关键字args,例如cap_method = JAVACAP for Android 下面我们来列举一下实例,如下:
init_device(platform=Android,uuid=127.0.0.1:62001,cap_method=JAVACAP) 2)).根据设备的URL来初始化
语法格式如下:
android:/// 连接当前安卓设备 android://adbhost:adbport/serial NO.?cap_method=javacap&touch_method=adb windows:/// 连接本地桌面程序 ios:/// 连接IOS设备 这里我们主要是传入了ADB地址,端口和连接的夜神模拟器的序列号而连接上的。具体例子如下:
connect_device(android://127.0.0.1:5037/127.0.0.1:62001?cap_method=javacap&touch_method=adb) 2).返回当前活动设备
device() 
3).设置当前活动设备
有时候如果我们连接了多个设备,我们需要切换的话,就是用这个函数来达到目的,可以使用设备的索引或者设备的序列号来进行切换哦。
set_current(0) set_current(127.0.0.1:62001) 4).运行环境配置
auto_setup(basedir = None,devices = None,logdir = None,project_root = None,compress = 0 ) basedir 设置当前脚本的所在位置,__file__也可以。 devices 指定运行脚本的设备以列表形式存在 logdir 设置脚本运行时的日志保存路径,服务器托管默认为None,设为True可保存 project_root 设置api的项目根目录 5).开启并执行远程Shell命令
shell(cmd) #ls / data / local / tmp 6).在设备上启动程序
start_app(启动的应用程序包名) 7).在设备上停止程序
stop_app(启动的应用程序包名) 8).清除设备上的应用程序数据
clear_app(启动的应用程序包名) 9).在设备上安装应用程序
install(filepath=要在目标设备上安装的文件的路径) 10).在设备上卸载应用程序
uninstall(应用程序包名) 11).截图并保存到文件中
snapshot(filename=1.jpg,msg=hello,quality=3) filename:图片名 msg:屏幕截图的简短描述 quality:图像质量,范围为[1,99]的整数 12).唤醒并解锁设备
wake(设备) 13).返回目标设备的主屏幕
home(设备) 14).设备屏幕上执行点击,滑动,捏,按键,输入操作
click(v=Template(x,y),times=2) #单击 v:触摸目标,可以是Template实例,也可以是绝对坐标(x,y) times:执行多少次触摸 double_click() #双击 swipe(v1,v2)#滑动起点和终点 swipe(v1,vector=(x,y))#沿向量移动,向量可以是坐标也可以是屏幕百分比 #返回值:原点位置和目标位置 pinch()#捏操作,相当于缩放,参数如下: in_or_out:放大或缩小 center:默认为None表示屏幕中心 percent:捏动作的屏幕比例,默认值为0.5 keyevent(keyname=Home)#按键操作 text(文本)#在设备上输入文本 15).睡眠,等待
sleep(2)#睡眠两秒,延迟两秒 wait(v,timeout,interval,intervalfunc)#等待与设备屏幕上的模板匹配 v:等待的目标对象 timeout:超时时间 interval:尝试找到匹配项的时间间隔(秒) intervalfunc:在每次未成功尝试找到相应匹配项后调用 返回值:匹配目标的坐标 16).检查给定目标在设备屏幕上是否存在
exists(v) v:检查对象 如果找不到目标,高防服务器则为False,否则返回目标的坐标 17).在设备屏幕上查找所有出现的目标并返回其坐标
find_all(v) v:寻找目标 返回坐标列表 18).断言操作
assert_exists(v,msg) #断言目标存在于设备屏幕上 assert_not_exists(v,msg) #断言目标在设备屏幕上不存在 v:要检查的目标 msg:断言的简短描述 assert_equal(v1,v2,msg) #断言两个值相等 assert_not_equal(v1,v2,msg) #断言两个值不相等 v1:第一个值 v2:第二个值 msg:断言的简短描述 这里基本上我们就把使用方法说完了,下面我们来进行下实际操作,下一篇文章即将奉上。
二、总结
这篇文章主要介绍了Airtest的基本操作方法,可以让我们轻松实现软件自动化,下一篇文章将带大家一起进行实际操作,敬请期待!
本文转载自微信公众号「IT共享者」,可以通过以下二维码关注。转载本文请联系IT共享者公众号。
