news 2026/7/8 16:17:14

用Airtest快速实现手机文件读写与删除功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Airtest快速实现手机文件读写与删除功能

前几天有同学留言,能不能安排“读写手机文件”的示例。我们今天就来实现这个小功能。

当然,熟悉adb的同学,看到这个需求,肯定很开心,不就是一个 adb push 和 adb pull 嘛,非常简单呀。

确实如此,那结合Airtest,我们该如何写脚本呢?接下来我们就详细看看。

手机文件读写与删除功能

1)adb知识

Airtest不仅给我们提供了连接和操控手机的功能,还封装了绝大部分adb功能供我们便捷使用,以“从手机上复制文件到本地计算机”为例,使用adb指令的话,是这样的:

adb pull <src> <dst>

其中:

src:要传输的 Android 文件路径

dst:要传输到的本地计算机路径

2)Airtest封装的adb功能

而在Airtest里面,adb功能封装在 irtest.core.android 模块里面,我们可以编写下述脚本实现 adb pull 指令的功能:

from airtest.core.android import * device().adb.pull(scr,dst)

3)文件读写与删除功能实现

了解这些之后,我们就可以非常轻松地用Airtest实现手机文件读写与删除功能啦:

# -*- encoding=utf8 -*- __author__ = "AirtestProject" from airtest.core.api import * from airtest.core.android import * auto_setup(__file__) dev = device() phone_file = r"/sdcard/Download/test.png" # 手机文件路径 local_path = r"E:/test_file/" # 电脑存储路径 local_file = r"E:/test_file/test1.png" # 电脑文件路径 phone_path = r"/sdcard/Download/" # 手机存储路径 del_file = r"/sdcard/Download/test1.png" # 要删除的手机文件 # 从手机上复制文件到本地 def pull_file(): dev.adb.pull(phone_file,local_path) print("文件已复制到本地") # 将本地文件推送到手机 def push_file(): dev.adb.push(local_file,phone_path) print("文件已推送到手机") # 删除手机上的文件 def delete_file(): shell("rm %s" % (del_file)) print("手机文件已删除") if __name__ == '__main__': pull_file() push_file() delete_file()

PS:Airtest里的 device().adb.pull 和 device().adb.push 都支持中文路径。

小结

今天的小需求就实现到这里啦。其实,用Airtest封装的adb能力,还可以帮助我们实现非常多有趣的小场景,感兴趣的同学可以上手尝试下。

另外,有其它想要实现的功能,欢迎给我们留言哦!

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 18:35:33

PyTorch框架下运行Qwen3-32B的内存优化策略

PyTorch框架下运行Qwen3-32B的内存优化策略 在大模型落地日益深入的今天&#xff0c;一个现实问题摆在开发者面前&#xff1a;如何在有限显存条件下高效运行像 Qwen3-32B 这样参数高达320亿的语言模型&#xff1f;这不仅是资源调度的技术挑战&#xff0c;更关乎企业能否以合理成…

作者头像 李华
网站建设 2026/7/6 19:57:52

为什么说Qwen3-8B是学术研究的理想选择?实测报告出炉

为什么说Qwen3-8B是学术研究的理想选择&#xff1f;实测报告出炉 在AI科研门槛日益抬高的今天&#xff0c;动辄千亿参数、依赖A100集群的大模型虽然性能惊艳&#xff0c;却让大多数高校实验室和独立研究者望而却步。一张RTX 3090显卡跑不动主流模型的尴尬现实&#xff0c;正在成…

作者头像 李华
网站建设 2026/7/6 21:57:17

java基础-PriorityQueue(优先队列)

1. 基本概念PriorityQueue 是 Java 集合框架中的一个基于优先堆的无界队列。它使用优先顺序&#xff08;通常是元素的自然顺序或自定义比较器&#xff09;来管理元素&#xff0c;而不是标准的 FIFO&#xff08;先进先出&#xff09;顺序。// 基本创建方式 PriorityQueue<Int…

作者头像 李华
网站建设 2026/7/5 20:47:10

Qwen3-14B模型量化压缩技术:降低GPU内存占用

Qwen3-14B模型量化压缩技术&#xff1a;降低GPU内存占用 在企业级AI应用加速落地的今天&#xff0c;一个现实问题日益凸显&#xff1a;如何让高性能大模型跑得动、用得起&#xff1f;以Qwen3-14B为代表的中型语言模型虽具备出色的推理能力&#xff0c;但原始FP16精度下近28GB的…

作者头像 李华
网站建设 2026/7/8 15:47:04

18、日期和时间的格式化、解析及时间区域的使用

日期和时间的格式化、解析及时间区域的使用 1. 日期和时间的格式化与解析 1.1 不同地区的日期格式差异 日期的格式会因地区而异。例如,2002 年 5 月 9 日,在美国英语(en - US)地区的短格式为 5/9/02,而在法国法语(fr - FR)地区则为 09/05/02。 1.2 JSTL 的日期格式化…

作者头像 李华
网站建设 2026/7/7 21:36:50

VisionPro CogIPOneImageTool1 工具超详细解释(含内部功能全解析)

CogIPOneImageTool1 工具一、工具基本定位CogIPOneImageTool1 是康耐视 (Cognex) VisionPro 视觉软件中的单图像基础图像处理工具&#xff0c;专注于对单张输入图像执行像素级的预处理操作&#xff08;如亮度调整、滤波降噪、形态学处理、几何变换等&#xff09;。它是 VisionP…

作者头像 李华