简单又实用的高级技巧,一篇文章带你深入了解Python自动化控制手机!

Python编程.Bluetooth HID Mouse and Keyboard(四) #!/usr/bin/env python import Tkinter,sys,time,platform import log class Point: def __init__(self, x=0, y=0): self.x = x self.y = y return def __str__(self): 阅读详情

大家好,我是皮皮,今天给大家讲讲ADB操作。

前面给大家分享了Airtest,感兴趣的小伙伴,可以前往:手机自动化测试IDE-----Airtest实战篇、手机自动化测试IDE ----- 手把手教你用Airtest模拟器来连接手机、手机自动化测试IDE-----Airtest基本操作方法、手机自动化测试IDE ----- Airtest的安装和IDE控件详解,任君挑选。

前言

ADB,中文名安卓调试桥,它是一种功能多样的命令行工具,可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:

客户端:用于发送命令。客户端在开发计算机上运行。您可以通过发出 ADB命令来从命令行终端调用客户端。

守护进程:在设备上运行命令。守护进程在每个设备上作为后台进程运行。

服务器:管理客户端和守护进程之间的通信。服务器在开发机器上作为后台进程运行。

通过这个命令行工具我们可以使用它来操作手机上的资源,而且不需要借助Android SDK就可以轻松操控手机里的应用。

一、工作原理

当您启动某个ADB客户端时,客户端会先检查是否有 ADB服务器进程正在运行。如果没有,它将启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 ADB 客户端发出的命令 - 所有 ADB客户端均通过端口 5037 与 ADB 服务器通信。

然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现ADB守护进程 (ADBD),便会与相应的端口建立连接。请注意,每个模拟器都使用一对按顺序排列的端口 - 用于控制台连接的偶数号端口和用于ADB 连接的奇数号端口。

二、下载ADB

这里小编已经给大家准备好了,下载地址:

https://u062.com/file/7715018-452566390 ,

如果你想在任何文件目录使用ADB的话,必须把ADB的安装目录加入环境变量,然后我们可以使用ADB的界面工具,它可以很直观方便的执行ADB的命令并显示结果,

这个工具就是APKInstaller,下载地址:
https://u062.com/file/7715018-452566398 ,如图:

三、基本操作

1.设备的启动关闭操作

这里我选择连接模拟器,看看连接有什么区别。

1).连接设备

adb connect 127.0.0.1:62001#连接一个模拟器

2).启动服务

adb start-server#开启服务

3).查看设备

adb devices #查看设备信息

adb version #设备版本

adb help #帮助文档 

adb get-state #查看设备状态 device(正常连接),offline(连接异常),unknown(没有连接)

adb get-serialno #获取序列号

adb get-devpath #获取设备路径

adb shell cat /system/build.prop #获取设备名称

4).操作多个设备

adb —a 监听所有网络接口,而不仅仅是localhost

  -d 使用USB设备(如果多个设备连接错误)

  -e 使用TCP / IP设备(如果可用多个TCP / IP设备错误)

  -s 使用给定的序列号(覆盖ANDROID_SERIAL)

  -t 使用给定设备ID

  -h adb服务器主机名称(默认= localhost)

  -p adb服务器的端口(默认= 5037)

  -l 监听来自套接字的adb服务器(默认= tcp: localhost: 5037)

  例如:adb -s 127.0.0.1:62001 shell
python做手机端app自动化测试 用python做app的自动化测试,目前有两种方式可以完成:1.由于Appnium不是一个库,是一套软件,安装需要java环境等,还有配置,非常麻烦,所以这里不考虑2.uiautomator2比Appnium简单易上手,但是目前相关代码较少,本文将尝试用该库解决手机app的自动化问题。(uiautomator2只能操作安卓系统,ios系统不兼容,如果是苹果手机就没必要往后看了) 阅读详情

相关推荐

用CH34x系列usb串口控制手机-autojs,支持库如何实现

要实现使用 USB 转蓝牙 HID 设备控制手机触摸,可以使用 PyBluez 库进行蓝牙通信,使用 hidapi 库进行 HID 设备控制。

linghuchong2025的博客 1284

python 手机app数据爬取

今天向大家介绍app爬取。 文章目录一:爬取主要流程简述二:抓包工具Charles1.Charles的使用2.安装(1)安装链接(2)须知(3)安装后3.证书配置(1)证书配置说明(2)windows系统安装证书配置(3)Android手机安装证书配置4.开启SSL监听5.原理6.抓包三:抓包工具mitmproxy(免费的)1.简介2.关联组件3.安装和证书配置(1)用pip安装(2)在GitHu...

ITxiaoangzai的博客 8991

ADB按键模拟实战:用Python脚本自动化控制安卓设备(附完整代码)

本文深入探讨了如何利用Python封装ADB命令,构建健壮的安卓设备自动化控制框架。通过封装`adb shell input keyevent`等核心命令,文章提供了完整的按键模拟代码库,并详细讲解了多设备管理、厂商兼容性处理以及复杂工作流编排等高级实战技巧,帮助开发者实现工程化的自动化解决方案。

nokia的博客 474

Python爬虫破解JS加密参数:逆向分析与实战指南

在Web数据采集领域,JS加密参数是常见的反爬虫技术,它通过前端JavaScript动态生成签名(如sign、token等)来验证请求合法性。其核心原理通常涉及参数排序、加盐和哈希运算(如MD5、SHA-256),旨在防止简单的HTTP请求模拟。理解并复现这一加密流程,对于构建高效、稳定的爬虫系统具有重要技术价值,尤其在电商数据抓取、舆情监控等应用场景中。本文以典型的sign参数生成为例,详细拆解了从浏览器抓包、逆向分析JS逻辑到Python代码复现的完整流程,并提供了应对代码混淆、RSA加密等进阶挑战的实

weixin_33910759的博客 408

ChromeDriver与Selenium自动化:从版本匹配到实战技巧全解析

Web自动化测试是软件工程中提升效率、保障质量的关键技术,其核心原理是通过程序模拟用户与浏览器的交互。在技术实现上,通常基于W3C WebDriver协议,该协议定义了客户端与浏览器驱动之间的标准化通信方式。其技术价值在于能够替代重复性人工操作,实现大规模、高并发的网页测试、数据采集和流程验证。在应用场景上,广泛用于UI回归测试、跨浏览器兼容性检查以及需要与网页动态交互的数据抓取任务。其中,ChromeDriver作为连接自动化脚本与Chrome浏览器的桥梁,其版本匹配是实践中的首要挑战,而Selenium

weixin_30838873的博客 347

Python新手必看:5分钟搞定微信自动回复机器人(附完整代码)

本文详细介绍了如何使用Python快速开发微信自动回复机器人,从环境配置到核心逻辑实现,提供完整代码示例。通过uiautomator2工具实现稳定可靠的UI自动化,适合Python新手在5分钟内快速上手,打造个性化的微信聊天机器人。

dropout6artist的博客 460

高速串行信号仿真避坑指南:为什么你的SIwave Xnet设置了却不出结果?

本文深入解析SIwave中Xnet功能在高速串行信号仿真中的常见问题,包括模型缺失、网络不完整和端口设置错误等关键误区。通过详细的电路元件模型验证、网络完整性检查及端口配置指南,帮助工程师有效解决仿真不出结果的问题,提升信号完整性分析效率。

weixin_29218963的博客 252

大疆sdkV4以及V5webrtc推流

webrtcSDK中要用它的VideoCapturer来初始化推流 ViewdoCapturer是一个接口我们继承它 然后重建创建文件CapturerAircraft.java文件。CameraUtil.java这个是我们用来创建CapturerAircraft的一个工具。除了CapturerAircraft这个文件不一样外其他都是一样的。PlayBodyBean.java这个是我们的配置文件。下面的有个代码块第一个是v4的 第二个是v5的。接着我们来创建几个推流用到的webrtc工具。

weixin_41624865的博客 1188

Carla-UE4Editor导入RoadRunner地图文件(保姆级教程)

以Carla官网导入RoadRunner地图的标准文档为参考,里面增添了很多细节和注意事项,遇到问题的小伙伴过来看看吧。

DSK_981029的博客 1万+

IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略

本文深入解析IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略,涵盖其核心特性、硬件电阻调节技巧、I2C动态控制方案、散热设计优化及典型问题排查。IP2315支持多种快充协议,如Type-C PD、华为FCP等,适用于便携设备快速充电需求,并通过I2C实现灵活的充电参数设置,提升充电效率与安全性。

weixin_29248313的博客 539

HFSS螺旋线圈的优化设计与高效仿真实践

本文详细介绍了HFSS螺旋线圈的优化设计与高效仿真实践,涵盖核心参数设置、参数化建模、仿真加速技巧及结果分析。通过HFSS软件实现螺旋线圈的高效仿真,特别适用于无线充电和RFID系统设计,提升设计效率与性能验证准确性。

weixin_30235225的博客 445

Windows下用MSYS2一键搞定Verilator安装(附国内镜像加速)

本文详细介绍了在Windows系统下,如何利用MSYS2工具和国内镜像源,快速、高效地完成Verilator的安装与配置。通过替换清华镜像源加速下载,并配合Pacman包管理器,实现近乎一键式的安装流程,有效解决了传统方法步骤繁琐、网络依赖下载慢的问题,为数字电路仿真提供了便捷的Windows环境解决方案。

weixin_29208327的博客 594

STM32H7B0VBT6使用Free RTOS配置SD卡+Fatfs文件管理系统

STM32H7B0VBT6使用Free RTOS配置SD卡+Fatfs文件管理系统,记录配置过程

Jack的小窝 5942

3D iToF深度分辨率测量

本文展示了RGB-D传感器在三维测量中的高精度表现。标靶深度图显示其具备清晰、低噪、无干扰的特性,点云数据完整度高且轮廓分明。该技术已成功应用于物流(体积测量误差<1%)、工业(高反光部件装配检测)和农业(果蔬成熟度分级)等领域,验证了其硬件和算法的可靠性,能够满足不同场景下的三维测量需求。

dream it possible 252

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Python中输入密码总是可见?那是你没使用过这个模块
下一篇: 清华在校生呕心沥血,终于利用python编程完美解释导入追踪原理
Python编程_可乐
博客等级 码龄6年 917粉丝 100原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值