基于airtest的安卓ui自动化实践

在tester home上初识airtest感觉很惊艳,最近想给组里的同学分享一下,仔细研究了一番。分享之后,发现他们练习做的还很不错。

莫非我真的有教书育人的能力?(天真脸)

分为四个部分讲解:airtest简介,airtest安卓上的应用(分airtest和poco),参考示例,ui自动化方案。

airtest简介

  • 网易内部工具团队研发
  • 跨平台ui自动化框架,适用游戏与app
  • 基于图像识别和poco控件识别

支持

  • web
  • windows
  • android
  • ios
  • 游戏

airtest在安卓上的应用

1.连接

airtest与手机连接有三种方式:USB,无线连接,代码连接

无线连接的步骤:

1.手机通过usb连接电脑,查看手机ipadb shell ifconfig wlan0 或者直接在手机上看

2.指定tcpip端口号:  adb tcpip 端口号 (端口号可随便定义,不冲突就行)

3.拔掉手机usb连接

4.cmd命令行输入:adb connect 手机ip:端口号(刚才指定)

5.连接成功后,可输入adb devices 查看到

6.airtest ide右侧远程连接中输入 adb connect 手机ip:端口号 ,然后在设备列表中,点击connect

代码连接的格式:

格式:connect_device("Android://")

括号中格式:Android://adbhost:adbport/serialno

如:connect_device("Android://127.0.0.1:5037/c78886cd")

2.airtest-android的常用方法

1)获取apk 包名

adb shell  或者 adb –s  设备号(通过adb devices可以看到的) shell

pm list packages

加过滤 pm list packages |grep ala

2)打开apk

start_app('package_name')

3)关闭apk

stop_app('package_name')

4)touch

按压,对象可以是图片或者坐标,参数可根据需要修改,默认一次,相当于点击

5)wait

对象是图片,等待某图片出现。找到图片则返回图片中心点坐标,否则超时后抛出异常

6)swip

滑动,对象为两个,分别是滑动起点和重点的图片或坐标,或者选用参数VECTOR

7)exists

对象是图片,判断图片是否存在,存在则返回图片中心点坐标,否则返回False

8)text

文本输入

9)keyevent(这个是需要注意下的)

输入,需要按下的键盘内容,与adb shell input keyevent的值一致

如:keyevent(“KEYCODE_3”) 输入数字3

https://blog.csdn.net/chen825919148/article/details/18732041

10)snapshot 截图

11)sleep

延迟时间,默认1秒

12)assert_exists

对象为图片,判定图片存在,如果存在则返回图片中心点坐标,否则抛出异常

13)assert_not_exists

判定图片不存在,断言失败时抛出异常

14)assert_equal

断言两个值相同

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值