文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-12-03 05:57

关注

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

前言

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

一、基本API介绍

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

这里所导入的模块其实就是跨平台的API,除了跨平台的API还有平台特定的API,比如:

  1. airtest.core.android #安卓平台 
  2. airtest.core.ios   #苹果平台 
  3. airtest.core.win   #Windows平台 

这里我们来详细说说这些模块。

1.跨平台API模块

这里我们要介绍的第一个就是跨平台模块:

from airtest.core.api import * #导入所有方法

1).初始化设备

这里初始化设备我们也有两种方案,下面请看:

1)).根据设备的UUID来初始化

语法格式:

  1. init_device(platform='Android',uuid='',cap_method=JAVACAP for Android) 
  2. #平台 – Android,IOS或Windows 
  3. #uuid –目标设备的uuid,例如,用于Android的serialno,用于Windows的handle,用于iOS的uuid 
  4. #kwargs –可选的平台特定关键字args,例如cap_method = JAVACAP for Android 

下面我们来列举一下实例,如下:

  1. init_device(platform='Android',uuid='127.0.0.1:62001',cap_method='JAVACAP'

2)).根据设备的URL来初始化

语法格式如下:

  1. android:///   连接当前安卓设备 
  2. android://adbhost:adbport/serial NO.?cap_method=javacap&touch_method=adb 
  3. windows:///    连接本地桌面程序 
  4. ios:///     连接IOS设备 

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

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

2).返回当前活动设备

  1. device() 

3).设置当前活动设备

有时候如果我们连接了多个设备,我们需要切换的话,就是用这个函数来达到目的,可以使用设备的索引或者设备的序列号来进行切换哦。

  1. set_current(0) 
  2. set_current('127.0.0.1:62001'

4).运行环境配置

  1. auto_setup(basedir = None,devices = None,logdir = None,project_root = None,compress = 0 ) 
  2. basedir 设置当前脚本的所在位置,__file__也可以。 
  3. devices 指定运行脚本的设备以列表形式存在 
  4. logdir 设置脚本运行时的日志保存路径,默认为None,设为True可保存 
  5. project_root  设置api的项目根目录 

5).开启并执行远程Shell命令

  1. shell(cmd) #ls / data / local / tmp 

6).在设备上启动程序

  1. start_app('启动的应用程序包名'

7).在设备上停止程序

  1. stop_app('启动的应用程序包名'

8).清除设备上的应用程序数据

  1. clear_app('启动的应用程序包名'

9).在设备上安装应用程序

  1. install(filepath='要在目标设备上安装的文件的路径'

10).在设备上卸载应用程序

  1. uninstall('应用程序包名'

11).截图并保存到文件中

  1. snapshot(filename='1.jpg',msg='hello',quality=3) 
  2. filename:图片名 
  3. msg:屏幕截图的简短描述 
  4. quality:图像质量,范围为[1,99]的整数 

12).唤醒并解锁设备

  1. wake('设备'

13).返回目标设备的主屏幕

  1. home('设备'

14).设备屏幕上执行点击,滑动,捏,按键,输入操作

  1. click(v=Template(x,y),times=2) #单击 
  2. v:触摸目标,可以是Template实例,也可以是绝对坐标(x,y) 
  3. times:执行多少次触摸 
  4.  
  5. double_click() #双击 
  6. swipe(v1,v2)#滑动起点和终点 
  7. swipe(v1,vector=(x,y))#沿向量移动,向量可以是坐标也可以是屏幕百分比 
  8. #返回值:原点位置和目标位置 
  9.  
  10. pinch()#捏操作,相当于缩放,参数如下: 
  11. in_or_out:放大或缩小 
  12. center:默认为None表示屏幕中心 
  13. percent:捏动作的屏幕比例,默认值为0.5  
  14. keyevent(keyname='Home')#按键操作 
  15.  
  16. text('文本')#在设备上输入文本 

15).睡眠,等待

  1. sleep(2)#睡眠两秒,延迟两秒 
  2. wait(v,timeout,interval,intervalfunc)#等待与设备屏幕上的模板匹配 
  3. v:等待的目标对象 
  4. timeout:超时时间 
  5. interval:尝试找到匹配项的时间间隔(秒) 
  6. intervalfunc:在每次未成功尝试找到相应匹配项后调用 
  7. 返回值:匹配目标的坐标 

16).检查给定目标在设备屏幕上是否存在

  1. exists(v) 
  2. v:检查对象 
  3. 如果找不到目标,则为False,否则返回目标的坐标 

17).在设备屏幕上查找所有出现的目标并返回其坐标

  1. find_all(v) 
  2. v:寻找目标 
  3. 返回坐标列表 

18).断言操作

  1. assert_exists(v,msg) #断言目标存在于设备屏幕上 
  2. assert_not_exists(v,msg) #断言目标在设备屏幕上不存在 
  3. v:要检查的目标 
  4. msg:断言的简短描述 
  5.  
  6. assert_equal(v1,v2,msg) #断言两个值相等 
  7. assert_not_equal(v1,v2,msg) #断言两个值不相等 
  8. v1:第一个值 
  9. v2:第二个值 
  10. msg:断言的简短描述 

这里基本上我们就把使用方法说完了,下面我们来进行下实际操作,下一篇文章即将奉上。

二、总结

这篇文章主要介绍了Airtest的基本操作方法,可以让我们轻松实现软件自动化,下一篇文章将带大家一起进行实际操作,敬请期待!

本文转载自微信公众号「IT共享者」,可以通过以下二维码关注。转载本文请联系IT共享者公众号。

 

来源: IT共享者内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯