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

1. 前言

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

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

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

2. 手机文件读写与删除功能

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.pulldevice().adb.push 都支持中文路径。

3. 小结

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

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

相关推荐
key_3_feng25 分钟前
TCPDump 实际抓包案例及故障分析
网络·测试工具·tcpdump
测试199811 小时前
性能测试方案设计的方法和思路
自动化测试·软件测试·测试工具·jmeter·测试用例·压力测试·性能测试
西瓜程序猿18 小时前
手机端现场收礼如何实时投屏?
测试工具·智能手机·创业创新·记了么·电子礼薄
阿斯加德D18 小时前
《霍格沃茨之遗》风灵月影修改器下载(已汉化)2026最新版
人工智能·测试工具·游戏·3d·游戏程序
弹简特1 天前
【精通Postman接口测试-完结】05-Postman通关收官!接口鉴权+接口加密+接口签名+Mock数据构造
测试工具·postman·接口鉴权、接口签名
麦科信仪器1 天前
便携、专业 | 12bit硬核高精 | 麦科信 AHO1 系列汽车示波器正式发布!
测试工具·汽车·示波器·制造·安全性测试·测量
yzx9910131 天前
二手交易平台智能客服机器人——基于规则引擎与 Selenium 的自动回复系统
selenium·测试工具·机器人
神州数码云基地1 天前
AI 驱动的自动化安全测试工具--Strix
运维·人工智能·功能测试·测试工具·自动化
介一安全1 天前
【Web安全】AI自动化实现前端加密算法逆向分析
测试工具·ai·自动化·逆向·安全性测试
测试员周周1 天前
【AI测试智能体】为什么传统测试方法对智能体失效?
开发语言·人工智能·python·功能测试·测试工具·单元测试·测试用例