如何利用Airtest做一些简单的装包小任务
1. 前言
很多同学对于Airtest都有一些刻板的印象,觉得Airtest只能截图,然后进行一些简单的点点点操作。
但实际上,抛开Airtest的图像识别点击功能,Airtest还能帮助我们连接设备,然后完成一些别的小任务,比如装包、打开应用、检查应用等等(不需要截图、也不需要生成报告)。
2. 利用Airtest完成装包任务的脚本示例
示例为一个非常简单的纯.py
脚本例子,只连接设备,然后安装并打开指定应用即可,log都不需要保存(可以看到auto_setup
里面logdir=False
):
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
from airtest.cli.parser import cli_setup
auto_setup(__file__, logdir=False, devices=["android://127.0.0.1:5037/PFT4PBLF75GQHYBM"])
# 包体存放的路径
APK_FILE = r"D:\demo\NeteaseCloudMusic_Music_official_8.7.11.220318190241_32.apk"
# 包名
PACKAGE_NAME = "com.netease.cloudmusic"
# 安装应用
install(APK_FILE)
# 打开应用
start_app(PACKAGE_NAME)
3. 装包接口详解
1)install()
install()
是Airtest的核心API之一,默认是用当前的设备去执行安装操作,实际上里面调用了 device().install_app()
,所以上文中的案例,我们也可以写成这样:
...
# 安装应用
device().install_app(APK_FILE)
# 打开应用
start_app(PACKAGE_NAME)
...
其中,install_app
除了需要传入filepath
参数之外,还有2个参数我们也可以关注下:
replace
,如果应用已存在,是否替换,默认为False
install_options
,install
命令的额外选项,默认是[]
# adb install -r -t D:\demo\test.apk
device().install_app(r"D:\demo\test.apk",install_options=["-r", "-t"])
2)pm_install()
pm_install
是airtest.core.android.adb
模块下面的安装方法,在Airtest1.2.7版本,我们对这个安装接口进行了增强:
- 支持了安装参数的传入(与
adb.install
保持一致), - 支持了 中文路径、一些 包含特殊符号路径
- 对路径的改动同时影响到了
adb.pull()
和adb.push()
接口,支持了中文路径、包含斜杠的路径(比如\g
这样的字符也会有问题)、包含特殊符号(空格、括号等)的路径 - 在
pm_install
安装完毕后,会进行adb shell rm apk
的操作,超时时间30秒
上文的小任务,也可以通过pm_install
接口来实现:
...
# 安装应用
device().adb.pm_install(APK_FILE)
# 打开应用
start_app(PACKAGE_NAME)
...
Airtest1.2.7版本之后,pm_install
的参数与install_app
保持了一致,同样支持:
replace
,如果应用已存在,是否替换,默认为False
install_options
,install
命令的额外选项,默认是[]
3)拓展:install的安装参数
Airtest封装的安装接口,包含以下安装参数可以使用:
-t
,允许测试包-l
,锁定应用程序-s
,把应用程序安装到sd卡上-g
,为应用程序授予所有运行时的权限-r
,替换已存在的应用程序(覆盖安装)-d
,允许降级覆盖安装
4. 小结
本文主要使用Airtest封装的安装接口,采用多种方式实现了装包的小任务,另外还拓展了下安装参数的介绍,同学们可以自己动手试试哟~
Airtest官网:https://airtest.netease.com/
Airtest教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:117973773
呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
2021-11-25 【更新公告】pocoui更新至1.0.85版本