如何利用Airtest做一些简单的装包小任务

2022-12-02  本文已影响0人  起码我有故事

1. 前言

很多同学对于Airtest都有一些刻板的印象,觉得Airtest只能截图,然后进行一些简单的点点点操作。

但实际上,抛开Airtest的图像识别点击功能,Airtest还能帮助我们连接设备,然后完成一些别的小任务,比如装包、打开应用、检查应用等等(不需要截图、也不需要生成报告)。

2. 利用Airtest完成装包任务的脚本示例

示例为一个非常简单的纯.py脚本例子,只连接设备,然后安装并打开指定应用即可,log都不需要保存(可以看到auto_setup里面logdir=False):

3. 装包接口详解

1)install()

install()是Airtest的核心API之一,默认是用当前的设备去执行安装操作,实际上里面调用了 device().install_app(),所以上文中的案例,我们也可以写成这样:

其中,install_app除了需要传入filepath参数之外,还有2个参数我们也可以关注下:

replace,如果应用已存在,是否替换,默认为False

install_options,install命令的额外选项,默认是[]

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接口来实现:

Airtest1.2.7版本之后,pm_install的参数与install_app保持了一致,同样支持:

replace,如果应用已存在,是否替换,默认为False

install_options,install命令的额外选项,默认是[]

3)拓展:install的安装参数

Airtest封装的安装接口,包含以下安装参数可以使用:

-t,允许测试包

-l,锁定应用程序

-s,把应用程序安装到sd卡上

-g,为应用程序授予所有运行时的权限

-r,替换已存在的应用程序(覆盖安装)

-d,允许降级覆盖安装

4. 小结

本文主要使用Airtest封装的安装接口,采用多种方式实现了装包的小任务,另外还拓展了下安装参数的介绍,同学们可以自己动手试试哟~

上一篇 下一篇

猜你喜欢

热点阅读