这篇我们来讲讲手机自动化测试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的基本操作方法,可以让我们轻松实现软件自动化。

三 、资源分享

下面这些是我的收集和整理的资料,对于学习【软件测试】的朋友来说应该是最全的教程仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注【程序媛木子】微信公众号里海量资源免费获取,技术交流群(644956177)

手机自动化测试IDE之Airtest基本操作方法,学完让你解放双手相关推荐

  1. 手机自动化测试IDE --手把手教你用Airtest模拟器来连接手机

    今天分享手机自动化测试IDE-----Airtest基本操作方法.手机自动化测试IDE ----- Airtest的安装和IDE控件详解,这篇文章来给大家分享用Airtest模拟器来连接手机.来连接手 ...

  2. 手机自动化测试IDE ----- 手把手教你用Airtest模拟器来连接手机

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 今 日 鸡 汤 抽刀断水水更流,举杯销愁愁更愁. 大家好,我是IT共享者,人称皮皮. ...

  3. android自动化测试抖音,手机自动化测试IDE-----Airtest实战篇

    前面我们讲到了Airtest的基础知识,手机自动化测试IDE-----Airtest基本操作方法,手机自动化测试IDE ----- Airtest的安装和IDE控件详解,今天我们就来说说Airtest ...

  4. 手把手教你使用手机自动化测试工具Airtest

    安卓手机自动化操作框架--Airtest 项目官网:http://airtest.netease.com/ 前言 Airtest是网易基于信息识别出品的一个自动化操作框架,可以模拟人工机械操作,对于日 ...

  5. 老李分享:基于图像识别的跨平台的手机自动化测试方案

    老李分享:基于图像识别的跨平台的手机自动化测试方案 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...

  6. Android 手机自动化测试工具有哪几种?

    Android 手机自动化测试工具有哪几种? 3 条评论 分享 按投票排序按时间排序 28 个回答 78赞同 反对,不会显示你的姓名 知乎用户,https://github.com/truebit 孙 ...

  7. android手机自动化测试,Android手机自动化测试实例详解

    2014-9-24 本人从参加工作以来,一直在做自动化测试方面的工作.最初接触的是Web自动化,后来又做接口自动化测试.由于最近几年手机应用越来越广泛,手机应用的自动化测试也发展的很快,所以我就利用工 ...

  8. 手机自动化测试:Appium源码分析之跟踪代码分析四 1

    手机自动化测试:Appium源码分析之跟踪代码分析四 控制器模块 // Appium webserver controller methods // https://github.com/hugs/a ...

  9. 手机自动化测试:appium源码分析之bootstrap八

    手机自动化测试:appium源码分析之bootstrap八 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大 ...

最新文章

  1. 重新想象 Windows 8 Store Apps (59) - 锁屏
  2. 云开发是啥?看看它在编程导航项目的实践
  3. oracle中的mount,Oracle环境中使用NFS的mount选项
  4. 回文绝对求下联:亚冠决赛决冠亚
  5. 基础编程题目集 6-7 统计某类完全平方数 (20 分)
  6. dataframe读取列表中对应的列
  7. 2017级C语言大作业 - 小小冒险岛
  8. for /r命令实现全盘搜索指定文件
  9. 高级GIS-1.提取纯净像元
  10. 注册测绘师学习笔记(二)
  11. 小爱音箱 电脑 麦克风_小米发布两款小爱音箱新品:发力音质,加入蓝牙网关...
  12. 教你做系统的公众号选题规划,建立自己的选题库
  13. 能量换算,方便减肥控制饮食
  14. fmod使用fader dsp控制音量——不影响频谱采样nice
  15. [RF] 安装好Robot Framework之后怎样让启动的界面后面不带命令行窗口,且图片以机器人显示...
  16. 电子学会2023年3月青少年软件编程python等级考试试卷(四级)真题,含答案解析
  17. Array方法、String方法
  18. 法国大数据分析服务初创公司 Dataiku 获1400 万美元 A 轮融资
  19. 贪吃蛇源码注释过程(未完成)
  20. Speech recognition模型:MoChA(Monotonic Chunkwise Attention)

热门文章

  1. 栈和堆(Stack Heap)
  2. 类查找android中跨项目的数据库操作ContentProvider的使用
  3. DataGrid 嵌套DataList
  4. 778. 水位上升的泳池中游泳
  5. 移动apn接入点哪个快_最新联通上网卡APN的设置方法
  6. python没有main函数的概念吗_为什么Python没有main函数?
  7. c++ 返回引用_【Excel必知必会】引用(链接)小专题
  8. HALCON:lines_gauss用法解析
  9. keybd_event()使用方法
  10. HyperLeger Fabric开发(七)——HyperLeger Fabric链码开发