airtest中的adb使用

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: airtest中的adb使用

   在前面记录了一下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/

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
运维 Ubuntu Linux
全平台adb工具安装方法
全平台adb工具安装方法
全平台adb工具安装方法
|
9月前
|
Shell
常用 adb 命令
常用 adb 命令
177 2
|
网络协议 Java 开发工具
adb--环境安装
adb--环境安装
|
Shell
ADB 命令指南
ADB 命令指南
277 0
|
Android开发 Shell
Appium之ADB指令详解
前言 学Android测试,ADB指令是必学的。 图1 一、ADB概述        Android Debug Bridge,Android调试桥接器,简称adb,是用于管理模拟器或真机状态的万能工具,采用了客户端-服务器模型,包括三个部分:        1、客户端部分,运行在开发用的电脑上,可以在命令行中运行adb命令来调用该客户端,像ADB插件和DDMS这样的Android工具也可以调用adb客户端。
1685 0
|
监控 Java Shell
App测试--ADB Monkey(下)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
395 0
App测试--ADB Monkey(下)
DHL
|
编解码 缓存 Ubuntu
关于 adb 命令你所需要知道的
关于 adb 命令你所需要知道的
DHL
689 0
关于 adb 命令你所需要知道的
|
Shell 测试技术 开发工具
App测试--ADB Monkey(上)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。
324 0
|
Java Shell 开发工具
ADB 工具包 ddmlib 的剖析与修改
因为最近开发的系统,需要从Java端控制Android,所以使用到了ADB的Java库ddmlib,它的功能非常全,而且是Google官方维护的ADB Java Lib。但是在实际使用的过程中,出现了并发使用时ADB掉线的情况,怀疑是通过ADB传输的数据带宽消耗过大导致的,所以对ddmlib进行了修改,使其可以设置每台手机的传输带宽限制。此外,为了远程调试线上系统的指定设备,我还在ddmlib加入了一个ADB Proxy的功能。