移动端测试必备技能: adb命令和抓包
移动端测试
是指对移动应用进行的测试,即实体的特性满足需求的程度,进行测试前需要搭建测试环境。
1 移动端自动化环境搭建
1.1 java安装
java JDK
安装jdk-8u181-windows-x64.exe
配置环境变量:
JAVA_HOME:D:\developer tools\Java\jdk1.8.0_181
配置path:%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
验证:终端输入 :java -verison
1.2Android SDK安装
解压Android-sdk.zip
配置环境变量ANDROID_HOME:D:\android-sdk-windows
配置path:
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
验证
终端输入:
安装手机模拟器
推荐夜神模拟器
启动问题
1夜神模拟器 bin目录下 nox_adb.exe 需要和SDK中 adb.exe 版本一致
2
3将SDK platform-tools下的adb.exe 拷贝到夜神bin目录更改名字--nox_adb.exe 替换即可
启动方式
1启动夜神模拟器,终端输入adb connect 127.0.0.1:62001
验证方式
2 ADB Android调试桥
2.1 adb概念
adb概念
ADB 全名 Android Debug Bridge,是⼀个调试⼯具
adb是一个C/S架构的命令行工具,由三部分组成,ADB就是连接手机和电脑通信的桥梁,只要这个桥梁 建立起来了,那么你就可以通过电脑来控制你的手机了
2.2 adb工作原理
adb 包含三个部分:
Client端:运行在pc端,可以通过adb命令对 Android 应用进行安装、卸载及调试等;
Daemon: 守护进程,运⾏在调试设备中,⼿机或模拟器,⽤来接收并执⾏ adb 命令;
Server端:运行在pc端中,客户端到 Android 设备上 adb 后台进程的连接,负责管理client和daemon 进行通信。
2.3 adb常见命令
包名(package):每个app的package是唯一的界面名(activity):web页面中的链接地
2.3.1 获取包名和界面名称命令
应用场景:自动化测试中需要知道app的包名和activity,通过命令获取使用步骤:开启被测应用,输入命令
命令格式:
1adb shell dumpsys activity|findstr Focused
示例:查询xxxxapp
2.3.2 adb文件传输命令
应用场景:发送⽂件到⼿机、从⼿机中拉取⽂件
发送⽂件到⼿机命令格式:
adb push 电脑的⽂件路径 ⼿机的⽂件夹路径
示例:d盘下的apk 发送到 手机的sdcard目录下
⼿机中拉取⽂件命令行格式:
adb pull 手机端路径 pc端文件夹
2.3.3 获取app启动时间
应用场景:需要测试应用的启动速度
命令格式:
1adb shell am start -W 包名/启动名
1ThisTime :该界⾯ ( activity ) 启动耗时(毫秒)
2TotalTime :应⽤⾃身启动耗时 = ThisTime + 应⽤ application 等资源启动时间(毫秒)
3WaitTime :系统启动应⽤耗时 = TotalTime + 系统资源启动时间(毫秒)
2.3.4 获取手机日志命令
应用场景:bug日志信息发给开发,方便开发定位问题
使用步骤:
开启应用 – 执行bug产生位置 – 使用命令 – 获取日志信息
命令格式
1adb logcat
常见命令
1adb logcat|findstr com.xxxxx > E:/apk/logcat.txt
第一步:
第二步:
2.3.5 adb 其他相关命令
3 移动端抓包
手机抓包应用场景:
通过手机抓包对数据分析,确定bug产生是前台还是后台
使用fiddler工具对模拟器进行抓包
3.1 pc端fiddler配置
配置fiddler允许监听到https(fiddler默认只抓取http格式的)
配置fiddler允许远程连接
3.2 对手机端进行参数配置
1手机和电脑连接同一个网络
2
3手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是
4fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定即可 打开手机浏览器 安装fiddler 证书IP:8888
5重启后查看
移动端 手动输入IP地址和端口号
浏览器输入IP:端口 举例:192.00.211:8888,跳转到fiddler下载页面(如图)
设置 > 更多设置 > 安全 > 凭据下面的(从SD卡安装)
ios 13 新增步骤
安装fiddler证书 跳转
打开 设置-通用-关于本机-证书信任设置,将DO_NOT_TRUST_FiddlerRoot 开关打开即可
抓包示例 : 百度浏览器 – 输入框输入‘xx教育’
最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
现在我邀请你进入我们的软件测试学习交流群:【746506216
】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
软件测试工程师自学教程:
这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】
接口性能测试 — 软件测试人必会618实战场景分析
软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.
美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看
测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路
软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试
Jmeter实战讲解案例 — 软件测试人必会
移动端测试必备技能: adb命令和抓包相关推荐
- Web端测试——F12的代码调试与抓包
最近很多同学问我浏览器的F12是什么东东?是干什么用的?为了解决大家的疑问,我特意写了这篇文章,总结了F12的使用. 下面的讲解,主要是以Microsoft Edge浏览器和360极速浏览器中的截图为 ...
- Android终端测试-常用的ADB命令
作为一个终端测试来说,adb命令绝对是必备且常用的工具,不管是使用adb工具来抓取设备日志还是操作设备,都是比较方便的. 下面命令是在某信工作几年中经常用的的adb命令,主要用来操作TV端(Andro ...
- APP测试常用的adb命令以及Monkey测试汇总篇
1.显示系统中全部设备: adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 adb devices 2.开启或关闭ADB服务 开启服务: ...
- 【linux测试必背| tcpdump】命令行抓包神器 | tcpdump抓取post请求并显示详细参数
命令行抓包神器 | tcpdump抓取post请求并显示详细参数 知识背景(diu ren 经历) 1. tcpdump抓包工具捕捉tcp请求 三次握手和四次挥手 适用场景: 命令格式: 2. tcp ...
- 网络安全实验DOS命令使用+抓包分析
网络安全实验DOS命令使用+抓包分析 DOS命令使用 抓包分析 DOS命令使用 1.1 查看本地主机的ip地址和物理地址 命令语句:ipconfig/all 1.2 利用ping 命令ping soh ...
- 安卓测试基础入门——ADB命令
在安卓测试过程中,QA经常需要进行装包.卸载以及重启等安卓设备的操作,熟练使用ADB命令,可以提高测试效率. 下面将对常用的ADB命令进行整理,后续不定期补充更新. * 查看设备 adb device ...
- 华为p20 adb连接 执行monkey命令 fiddler抓包
1.fiddler设置 允许远程计算机连接并设置端口号8888 并且忽略https证书 2.手机数据线连接电脑且处于同一局域网内-找到开发者选项-打开usb调试-点击usb配置-选择以太网 3.手机i ...
- batT脚本如何自动执行 adb shell 以后的命令(android抓包)
bat脚本自动执行 adb shell 以后的命令 @echo off echo su > test.txt echo 其它命令(如 cd /data) >> test.txt ad ...
- nmap的官网下载安装、简单命令的抓包测试
一 nmap官网下载 1.1 nmap简介. Nmap ("Network Mapper") 是用于网络探索和安全审计的开源工具.它被设计用于快速扫描大型网络,尽管它在单个主机上运 ...
最新文章
- Ubuntu18.04安装pymol
- mysql数据库周考_周考三
- 查询sql打印日志配置
- 查看并设置oracle并发连接数
- c语言中参数的传递方式是,C语言函数的参数及传递方式
- vmci.sys版本不正确_王者荣耀:当前版本辅助的正确玩法思路,别再被骂,也别再梦游了...
- oracle 表字段顺序_Oracle数据库如何修改表中字段顺序
- quot;蓝筹quot;如何使程序猿?
- java怎么设置命令行参数_java 命令行参数
- 五菱汽车:并不知悉导致股价及成交量上升的任何原因
- vm9.02的序列号
- 贴片工字电感的封装及结构
- 微信公众号推送模板消息(二):Access_token的获取
- 跨考计算机无法调剂,考研调剂又出新变化:“不能跨学科门类调剂”!
- confusing uv
- 游戏命中判定:圆桌算法和程序实现
- 广东理工学院c语言考试试卷,20年广东理工学院成人高考期末考试 C语言程序设计 复习资料(15页)-原创力文档...
- Hibernate:DisjunctionConjunction构造复杂的查询条件.
- seewo一键投屏在mac电脑上的使用方法
- 华为ensp模拟器及各设备镜像