python进入adb shell交互模式

import subprocess

#方法一:进入某个环境执行语句(adb shell),注意shell内部命令需要带\n,执行完后一定记得执行exit命令退出,否则会阻塞
obj = subprocess.Popen(['adb', 'shell'], shell = True, stdin=subprocess.PIPE, stdout=subprocess.PIPE ,stderr=subprocess.PIPE)
obj.stdin.write('ls\n'.encode('utf-8'))
obj.stdin.write('exit\n'.encode('utf-8'))  #重点,一定要执行exit
info,err = obj.communicate()
print(info.decode('gbk'))
print(err.decode('gbk'))

#方法二:进入某个环境执行语句(adb shell),命令用列表方式全部列出
cmds = [
    "cd data",
    'cd data',
    "ls",
    "exit",#这是是非常关键的,退出
]
obj = subprocess.Popen("adb shell", shell= True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
info = obj.communicate(("\n".join(cmds) + "\n").encode('utf-8'));
for item in info:
    if item:
        print(item.decode('gbk'))

  

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ADB是Android调试桥(Android Debug Bridge)的缩写,它是一种用于在计算机和Android设备之间进行通信和调试的工具。我们可以使用Python编写ADB脚本来实现自动化测试。 Python提供了与ADB命令的交互的库,如os和subprocess。通过这些库,我们可以在Python脚本中执行ADB命令。 以下是一个示例的Python脚本,展示了如何使用PythonADB进行交互: ```python import os # 连接ADB def adb_connect(IP): output_data = os.popen(f"adb connect {IP}") print(output_data.read()) # 点击事件 def touch(x, y): output_data = os.popen(f"adb shell input tap {x} {y}") print(output_data.read()) if __name__ == "__main__": adb_connect('127.0.0.1:7555') touch(216, 310) ``` 通过执行这个Python脚本,我们可以使用`adb_connect`函数连接ADB,并使用`touch`函数模拟触摸事件。这只是一个简单的示例,你可以根据自己的需求使用更多的ADB命令来编写你的自动化测试脚本。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用python编写adb脚本实现自动化测试](https://blog.csdn.net/qq_46166916/article/details/125191739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值