手机自动化测试IDE-----Airtest基本操作方法

简介: 手机自动化测试IDE-----Airtest基本操作方法

大家好,我是IT共享者,人称皮皮。这篇我们来讲讲手机自动化测试IDE-----Airtest。


前言


前面我们讲到了Airtest的界面和安装技巧,今天我们就来说说Airtest的具体操作方法吧,让我们轻松实现软件自动化,真正解放我们的双手吧。


一、基本API介绍


我们在做自动化脚本的时候,每个生成的脚本文件会给我们自动生成一些代码,如图:

image.png

这里所导入的模块其实就是跨平台的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=adbwindows:///    连接本地桌面程序ios:///     连接IOS设备

这里我们主要是传入了ADB地址,端口和连接的夜神模拟器的序列号而连接上的。具体例子如下:

connect_device('android://127.0.0.1:5037/127.0.0.1:62001?cap_method=javacap&touch_method=adb')


2).返回当前活动设备

device()

image.png


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的基本操作方法,可以让我们轻松实现软件自动化,下一篇文章将带大家一起进行实际操作,敬请期待!


我是皮皮,如果觉得文章不错,记得三连噢,大家有问题也可以点击下方的图片,加我好友,交个朋友也好呀~

相关文章
|
9月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
190 4
|
3月前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
3月前
|
消息中间件 缓存 监控
性能测试怎么做?方法、流程与核心要点解析
本文系统阐述了性能测试的核心方法论、实施流程、问题定位优化及报告编写规范。涵盖五大测试类型(负载验证、极限压力、基准比对、持续稳定性、弹性扩展)与七项关键指标,详解各阶段任务如需求分析、场景设计和环境搭建,并提供常见瓶颈识别与优化实战案例。最后规范测试报告内容框架与数据可视化建议,为企业级实践提出建立基线库、自动化回归和全链路压测体系等建议,助力高效开展性能测试工作。
|
11月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
262 1
|
7月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
443 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
11月前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
7月前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
160 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
8月前
|
XML 人工智能 文字识别
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
Mobile-Agent 是一款基于多模态大语言模型的智能代理,能够通过视觉感知自主完成复杂的移动设备操作任务,支持跨应用操作和纯视觉解决方案。
2722 10
Mobile-Agent:通过视觉感知实现自动化手机操作,支持多应用跨平台
|
10月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
318 6