测试十六、Airtest封装Anoroid常用的ADB操作
本文最后更新于:2024年11月13日 下午
十六、Airtest封装Anoroid常用的ADB操作¶
1. 前言¶
ADB
,即 Android Debug Bridge
(安卓调试桥)。它就是一个命令行窗口,用于通过电脑端与模拟器或者真机设备进行交互。
对于Android开发和测试人员来说,它都是不可替代的强大工具。所以今天,我们将跟同学们一起来聊一聊一些常用的ADB操作和Airtest给我们封装好的一些ADB接口。
2. 一些使用ADB命令的场景¶
作为一名测试人员,相信大家对使用ADB的场景都不陌生了。比如在做真机或者模拟器测试之前,我们常用 adb devices
命令去查看被测设备是否已经跟我们的电脑建立了连接:
1 |
|
再比如,我们在使用Airtest进行测试自动化时,经常遇到ADB版本冲突的报错:
1 |
|
而我们不清楚电脑里面那么多ADB,究竟哪些是40版本,哪些是36版本时,我们就可以使用 adb version
查看当前的ADB版本,然后将电脑里面所有的ADB替换成同一个版本,从而解决这个版本冲突的问题:
1 |
|
3. 常用的ADB操作及使用示例¶
当然,除了上面已经提到的查询已连接的设备/模拟器命令 adb devices
, 和查看ADB版本的命令adb version
,ADB操作可以做的事情还非常多:
1)应用管理¶
① 查看应用列表
1 |
|
② 安装APK
1 |
|
③ 卸载应用
1 |
|
④ 查看应用详细信息
1 |
|
2)文件管理¶
① 复制设备里的文件到电脑
1 |
|
② 复制电脑里的文件到设备
1 |
|
3)模拟按键输入¶
① 模拟电源键: adb shell input keyevent 26
② 模拟HOME键: adb shell input keyevent 3
③ 模拟返回键: adb shell input keyevent 4
④ 点亮/熄灭屏幕:
1 |
|
⑤ 模拟滑动解锁
1 |
|
⑥ 输入文本
1 |
|
4)查看设备信息¶
① 查看设备型号
1 |
|
② 查看屏幕分辨率
1 |
|
③ 查看Android系统版本
1 |
|
5)更多ADB命令详解¶
想了解更多详细的ADB操作的同学,我们推荐大家阅读这篇GitHub文档:https://github.com/mzlogin/awesome-adb 。
4. Airtest封装好的ADB接口及使用示例¶
在Airtest库中,大部分的ADB操作我们已经帮大家封装好了,所以同学们可以不用再单独去执行ADB命令。
举个简单的例子,利用Airtest封装好的ADB接口打印设备序列号和设备所有的第三方应用:
可以看到,我们只需要调用一些封装好的airtest接口,即可替代完整的ADB命令,另外在log查看窗的运行日志中,我们还可以看到这个接口实际执行的ADB命令:
1 |
|
另外Airtest还有很多常用的封装好的ADB接口:
1)返回应用的完整路径:path_app()¶
1 |
|
2)检查应用是否存在于当前设备上:check_app()¶
1 |
|
3)停止应用运行:stop_app()¶
1 |
|
4)安装应用:install_app()¶
1 |
|
5)关键词操作:keyevent()¶
1 |
|
6)唤醒设备:wake()¶
1 |
|
7)返回HOME:home()¶
1 |
|
8)文本输入:text()¶
1 |
|
9)检查屏幕是否打开:is_screenon()¶
1 |
|
10)检查设备是否锁定:is_locked()¶
1 |
|
11)获取当前设备的分辨率:get_current_resolution()¶
1 |
|
12)其它adb shell命令:shell()¶
1 |
|
实际上,airtest的 shell()
,就是帮忙补充了 adb -s 手机序列号 shell
这一部分,后面的内容同学们就按正常shell指令来传就行了。
13)更多Airtest封装好的ADB接口介绍¶
若同学们需要了解更多详细的Airtest封装好的ADB接口介绍,可以到你本地的Airtest库里面查找这个文件查看:airtest/core/android/android.py
。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!