很多同学对于Airtest都有一些刻板的印象,觉得Airtest只能截图,然后进行一些简单的点点点操作。
但实际上,抛开Airtest的图像识别点击功能,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)
1)install()
install()是Airtest的核心API之一,默认是用当前的设备去执行安装操作,实际上里面调用了 device().install_app(),所以上文中的案例,我们也可以写成这样:
...
# 安装应用
device().install_app(APK_FILE)
# 打开应用
start_app(PACKAGE_NAME)
...
其中,install_app除了需要传入filepath参数之外,还有2个参数我们也可以关注下:
# 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版本,我们对这个安装接口进行了增强:
上文的小任务,也可以通过pm_install接口来实现:
...
# 安装应用
device().adb.pm_install(APK_FILE)
# 打开应用
start_app(PACKAGE_NAME)
...
Airtest1.2.7版本之后,pm_install的参数与install_app保持了一致,同样支持:
3)拓展:install的安装参数
Airtest封装的安装接口,包含以下安装参数可以使用:
本文主要使用Airtest封装的安装接口,采用多种方式实现了装包的小任务,另外还拓展了下安装参数的介绍,同学们可以自己动手试试哟~
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以加入我们的QQ群:746506216,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】