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

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

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

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_optionsinstall命令的额外选项,默认是[]
# adb install -r -t D:\demo\test.apk
device().install_app(r"D:\demo\test.apk",install_options=["-r", "-t"])
2)pm_install()

pm_installairtest.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_optionsinstall命令的额外选项,默认是[]
3)拓展:install的安装参数

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

  • -t,允许测试包
  • -l,锁定应用程序
  • -s,把应用程序安装到sd卡上
  • -g,为应用程序授予所有运行时的权限
  • -r,替换已存在的应用程序(覆盖安装)
  • -d,允许降级覆盖安装

4. 小结

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


AirtestIDE下载:airtest.netease.com/

Airtest 教程官网:airtest.doc.io.netease.com/

搭建企业私有云服务:airlab.163.com/b2b


相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
2月前
|
Web App开发 前端开发 IDE
Airtest-Selenium实操小课①:爬取新榜数据
Airtest-Selenium实操小课①:爬取新榜数据
|
4月前
|
XML 测试技术 开发工具
『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程
『App自动化测试之Appium应用篇』| 元素定位工具uiautomatorviewer从简介、特点、启动到使用的完整过程
84 4
|
7月前
|
JSON Java 测试技术
Python + Appium 自动化操作微信入门
Python + Appium 自动化操作微信入门
143 0
|
2月前
|
监控 测试技术 API
自动化测试工具与电脑桌面监控软件的集成:Selenium与Python的无缝整合
在当今数字化时代,软件质量保证是每个软件开发团队都必须面对的重要挑战之一。自动化测试工具和电脑桌面监控软件的结合,为开发团队提供了一种有效的方式来确保软件的稳定性和性能。本文将介绍如何利用Python编程语言中的Selenium库,与桌面监控软件进行无缝整合,以实现对应用程序的自动化测试和桌面监控。
203 5
|
9月前
|
数据采集 Web App开发 数据可视化
如何用 Python 和 Selenium 构建一个股票分析器
在金融市场中,股票价格是一个重要的指标,它反映了公司的经营状况、市场需求和供应、投资者的预期和情绪等因素。股票价格的变化会影响投资者的决策和收益,因此,实时分析股票价格是一项有价值的技能。在本文中,我们将介绍如何使用 Python 语言和 Selenium 库来实时分析雅虎财经中的股票价格,并展示一个简单的示例代码。
如何用 Python 和 Selenium 构建一个股票分析器
|
7月前
|
测试技术
python-selenium学以致用-自动化抢课脚本
python-selenium学以致用-自动化抢课脚本
|
8月前
|
XML 前端开发 机器人
Selenium工具学习
Selenium工具学习
65 1
|
IDE 测试技术 Shell
基于图像识别框架Airtest的Windows项目自动化测试实践
1、Airtest框架介绍:Airtest适用项目、Airtest特点、Airtest的优势;2、Airtest框架组成、原理;Airtest环境搭建及IDE的简单使用;3、Airtest开展Windows应用自动化测试实践:连接Windows应用Windows、常用API编写、测试代码设计、测试用例运行效果、查看测试报告
基于图像识别框架Airtest的Windows项目自动化测试实践
|
人工智能 JavaScript IDE
干货|app自动化测试之Appium 源码修改定制分析
干货|app自动化测试之Appium 源码修改定制分析
|
Web App开发 IDE 测试技术
聊一聊使用airtest-selenium做Web自动化的常见问题
聊一聊使用airtest-selenium做Web自动化的常见问题
885 0

热门文章

最新文章