在tester home上初识airtest感觉很惊艳,最近想给组里的同学分享一下,仔细研究了一番。分享之后,发现他们练习做的还很不错。
莫非我真的有教书育人的能力?(天真脸)
分为四个部分讲解:airtest简介,airtest安卓上的应用(分airtest和poco),参考示例,ui自动化方案。
airtest简介
- 网易内部工具团队研发
- 跨平台ui自动化框架,适用游戏与app
- 基于图像识别和poco控件识别
支持
- web
- windows
- android
- ios
- 游戏
airtest在安卓上的应用
1.连接
airtest与手机连接有三种方式:USB,无线连接,代码连接
无线连接的步骤:
1.手机通过usb连接电脑,查看手机ip: adb 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
断言两个值相同