APP自动化测试系列之adb连接真机和模拟器
点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 08:30准时推送,每月不定期赠送技术书籍。
微信公众号后台回复“资源”、“测试工具包”领取测试资源,回复“微信群”一起进群打怪。
本文2054字,阅读约需7分钟
在上一篇APP自动化系列文章:APP自动化测试系列之Appium环境安装,主要介绍JDK、SDK、Node.js、Appium桌面版本、Appium client等环境安装配置。
以下主要介绍adb连接真机的两种方式及如何连接夜神模拟器。
一
adb连接真机
1
USB连接真机
USB连接真机包括确保硬件状态正常、开启USB调试、检查设备驱动是否正常三个方面。
01 硬件状态正常
Android 设备处于正常开机状态,USB 连接线和各种接口完好。
02 开启USB调试
手机设置里,依次打开"开发者选项"--》"USB调试"。
出现以上弹窗,点击“确定”允许进行USB调试。
03 设备驱动状态正常
以下使用adb driver installer
安装驱动。除此之外,也可以安装360手机助手,91助手或豌豆荚等驱动。
adb driver installer功能:
- 管理模拟器或设备的端口映射
- 计算机和设备之间上传/下载文件
- 运行设备的shell(命令行)
- 将本地apk软件安装至模拟器或android设备
adb driver installer下载
下载传送门:
https://adbdriver.com/downloads/
adb driver installer操作
①通过数据线连接手机到电脑,会有授权提醒,确认即可。如果出现USB用途选项,选择传输文件。
②adb driver installer下载完成后,双击ADBDriverInstaller.exe,刷新后,会出现已连接的设备,点击Install执行安装。
③安装完成后,会提示adb驱动已经安装。
④快捷键win+R,输入cmd打开doc窗口。命令行输入:adb devices
,查看设备是否连接。
2
wifi连接真机
Android系统底层运行着一个服务(adbd
),用于响应和管理大家在电脑端的adb命令连接,这个服务在启动时会根据手机的配置监听USB连接或网络其中之一。配置的属性为:service.adb.tcp.port,也就是监听的网络端口。
- 以上属性的值 > 0:adbd将监听网络对应的端口(一般为5555);
- 以上属性的值 <=-1:adbd将监听USB。
wifi连接真机步骤:
①Android设备和需要运行adb的电脑连接同一个wifi。
②将设备与电脑通过 USB 线连接,可通过命令 adb devices 查看是否连接成功。
③adb监听端口5555,命令行输入:adb tcpip 5555。
④断开USB连接。
⑤查找Android设备的IP地址。在手机的设置--》我的设备全部参数--》状态信息,可找到手机IP(小米8)。
⑥通过IP连接设备,在命令行输入:adb connect 192.168.31.14:5555(IP为自己手机ip)
⑦确认是否连接到设备,命令行输入:adb devices
二
adb连接模拟器
国内推出了很多安卓模拟器,如mumu、夜神、itools、海马等,这里使用夜神模拟器。
abd连接模拟器具体步骤:
①进入夜神官网下载最新版本。
下载传送门:
https://www.yeshen.com/
②下载完成后,默认安装即可。
③打开夜神模拟器,进入系统设置-性能设置,分辨率设置选择手机版,重启夜神模拟器。
④依次进入设置--》关于平板电脑,版本号连续点击5下,会激活使用开发者模式。
⑤激活开发者模式后,返回上一步到设置页面,点击开发者选项,开启开发者模式和USB调试。
⑥快捷键win+R,输入cmd进入doc窗口,cd到夜神模拟器bin目录,输入:nox_adb.exe connect 127.0.0.1:62001( 默认情况下,夜神模拟器的端口号是 62001)
⑦确认夜神模拟器是否连接,命令行输入:adb devices
如上所示,即表示连接成功。
以上
That‘s all
- ModSecurity技巧:使用ssdeep检测Webshell
- 装饰者模式
- 经典算法学习之分治法(以排列、组合程序为例)
- Bash概论 - Linux系列教程补充篇
- 我母亲遭遇勒索软件CryptoWall的全过程
- Android浏览器跨域数据窃取和Intent Scheme攻击
- 关于React Native项目在android上UI性能调试实践
- 一文读懂如何用 Python 实现6种排序算法
- 三星KNOX远程静默安装漏洞深入分析报告
- 技术分享:MSSQL注入xp_cmdshell
- 通过5个简单序列预测实例学习LSTM递归神经网络
- Google发现Windows 8.1 0day漏洞并公布漏洞验证程序(PoC)
- 携程React Native实践
- 数据分析告诉你:Php最不安全,Nginx比Apache安全
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python第四十五课——继承性之多重继承
- Linux系统——keepalived高可用集群服务
- python第四十五课——继承性之多继承
- HTTP服务器Nginx服务介绍续
- python第四十六课——函数重写
- Linux系统Memcached服务介绍
- python第四十七课——类属性和函数属性
- python第四十八课——类函数和对象函数
- python第四十九课——对象序列化与反序列化
- python第五十课——多态性
- python第五十一课——__slots
- Linux系统安全配置iptables服务介绍
- ThreadLocal企业中真实应用
- python第五十二课--自定义异常类
- python第五十三课——time模块