在前面记录了一下adb在命令行和python中的调用方式 adb获取安卓手机文件。但是发现这种方式在Airtest中并没有很好的适用性,会出现诸如:
airtest.core.error.AdbShellError: stdout[b''] stderr[b'']
复制
类型的错误,按照修改yosemite输入法,并且设置为默认输入法的方式并没有解决。还是需要找一个合理的解决方式。
解决方案
经过查阅发现,airtest应该是在自己内部做了一层封装,对adb原生的命令做了一层转换,所以对adb命令的直接调用识别不太好,需要调用Airtest自身的adb命令,使用方式如下:
连接设备:
dev = connect_device("Android:///")
执行shell命令:
path = dev.shell("ls sdcard/*_2021-09-26-*.jpg|tr -d '\\n'")
注:在对应的shell命令之后,要加上去掉 '\n' 的情况。因为命令识别会多出一个\n造成识别失败。
其他adb命令:
dev.adb.pull(path,'./')
注:adb.pull的操作,对应adb中的 adb pull localpath distinctpath
查看其他adb命令:
print(dir(dev.adb.pull)) 可以查看对应的adb.pull命令
print(dir(dev.adb)) 可以查看所有的adb命令,然后再来结合adb原生命令进行相应命令的使用
复制
查阅参考:https://airtest.readthedocs.io/en/latest/
文章转载自测试备忘录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
OceanBase 接入 MCP 架构:贯通数据孤岛,释放 AI 创新潜能
OceanBase数据库
285次阅读
2025-03-28 15:32:52
AI关键场景得到全面支持!OceanBase入选Forrester报告三大领域代表厂商
OceanBase数据库
195次阅读
2025-04-19 22:27:54
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
SelectDB
173次阅读
2025-04-03 17:41:08
定档!2025 OceanBase开发者大会,5月17日广州见!
OceanBase数据库
125次阅读
2025-04-09 16:48:47
OceanBase首届合作伙伴峰会:携手伙伴共赢云和AI时代
OceanBase数据库
120次阅读
2025-03-26 15:29:59
AI加持后能自动化运维吗?
薛晓刚
109次阅读
2025-03-24 21:35:32
瓜分 10 万奖金!OceanBase 首届 AI 黑客松等你来战
OceanBase数据库
105次阅读
2025-04-10 18:19:58
OceanBase首届生态伙伴大会圆满收官,开启生态建设2.0新征程
OceanBase数据库
79次阅读
2025-03-28 15:59:27
手机零售行业AI破局与成本突围:对话九机技术负责人李远军,揭秘OceanBase驱动的创新架构实践 | DB 大咖说
OceanBase数据库
35次阅读
2025-03-24 18:40:51
阿里云 AI 搜索开放平台新功能发布:大模型联网能力上线
阿里云大数据AI技术
33次阅读
2025-04-16 09:59:20