移动端测试
是指对移动应用进行的测试,即实体的特性满足需求的程度,进行测试前需要搭建测试环境。
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启动时间
应用场景:需要测试应用的启动速度
命令格式:
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:端口 举例:192.00.211:8888,跳转到fiddler下载页面(如图)
设置 > 更多设置 > 安全 > 凭据下面的(从SD卡安装)
ios 13 新增步骤
安装fiddler证书 跳转
打开 设置-通用-关于本机-证书信任设置,将DO_NOT_TRUST_FiddlerRoot 开关打开即可
抓包示例 : 百度浏览器 – 输入框输入‘xx教育’