手机APP测试(三)
目录:导读
- 一、环境搭建
- 二、常用模拟器
- 三、Adb命令使用
- 常用adb命令
- 命令行显示Log日志
- 过滤项解析
- 复杂adb命令
一、环境搭建
Android SDK概念:
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合
Android SDK 指的是Android专属的软件开发工具包
Android SDK的安装与环境变量配置:
1.下载Android SDK,解压后即可(全英文路径)
下载地址:http://tools.android-studio.org/index.php/sdk
2.新建一个环境变量,变量名:ANDROID_HOME,变量值:c:\sdk(以你安装目录为准,确认里面有tools和add-ons等多个文件夹),点击确认
3.在 系 统 变 量 path 中 添 加:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools
4.Android SDK配置完成,接下来验证配置是否成功
5.点击运行——>输入cmd——>回车——>输入adb——>回车,出现英文命令提示即正确
二、常用模拟器
1.原生Android模拟器
Android SDK自带的,由Google公司提供Android Emulator,是提供了虚拟机。从硬件(主要指 CPU 架构)到软件(完整Linux 内核和 ROM)在原理上完全拟真
2.Genymotion
genymotion安卓模拟器其实不是普通的模拟器,严格来说,genymotion是虚拟机,被网传定义为模拟器,genymotion虚拟机希望能够给你带来最好的Android模拟体验
3.国内常见的模拟器(天天模拟器等)
一般是给手机游戏用户用来在计算机中玩手机游戏的android模拟器
Genymotion模拟器简介
原生的模拟器启动比较慢,操作起来也不流畅,还会出现莫名的问题
Genymotion模拟器完美的解决了上述问题
1.Genymotion加载APP的速度比较快,操作起来也很流畅
2.Genymotion依赖于virtualBox(著名的开源虚拟机软件,轻巧、好用!),就是说Genymotion跟VirtualBox要一起使用(Genymotion调用了VirtualBox的接口)
3.Genymotion可作为Eclipse、Android Studio的插件使用,很方便
Genymotion模拟器安装:
①Genymotion官网下载:https://www.genymotion.com/#!/download
②安装下载后的软件(genymotion带virtual box版本的软件);
③启动Genymotion,并使用自己在Genymotion官网注册的账号密码登陆,下载自己所需要的手机型号模拟器;
④关联本地的SDK,在genymotion主界面,依次点击settings—>ADB—>Use custom Android SDK tools,在Android SDK框中选择你电脑上sdk文件夹路径
备注:不能启动成功可能原因是win7主题问题,把win7主题还原即可
三、Adb命令使用
adb的全称为(Android Debug Bridge)就是调试桥的作用。Adb命令存放在SDK的Tools文件夹下,又称为手机和电脑连接的桥梁命令
借助这个工具,我们可以管理设备或手机模拟器的状态
还可以进行以下的操作:
1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级
2.在设备上运行shell命令
3.管理设备或手机模拟器上的预定端口
4.在设备或手机模拟器上复制或粘贴文件
常用adb命令
显示当前运行的全部模拟器:
adb devices
安装应用程序:
adb install 应用程序.apk
覆盖安装应用程序:
adb install 应用程序.apk –r
缷载apk包:
adb uninstall apk包的主包名
对某一模拟器执行命令:
adb -s 模拟器编号 命令
进入手机的超级终端Terminal:
adb shell
向模拟器中写文件(上传):
adb push <local> <remote>
从模拟器中复制文件到本地(下载):
adb pull <remote> <local>
命令行显示Log:
adb logcat
以root权限重启adb:
adb root
备注:在使用adb命令之前,手机要开启usb debug模式
使用adb shell命令时出错,如下图所示:
问题分析:出现此问题是由于端口占用引起,把占用端口的进程kill掉
解决方法:
adb nodaemon server
netstat -ano | findstr "5037”
然后去任务管理器关掉相应进程
命令行显示Log日志
adb logcat
adb logcat [选项] [过滤项],其中 选项 和 过滤项 在 中括号 [ ] 中, 说明这是可选的
– " -s " 选项:
设置输出日志的标签, 只显示该标签的日志; 如想要输出 “System.out” 标签的信息,
可以使用:
adb logcat -s System.out
-" f " 选项 :
将日志输出到文件, 默认输出到标准输出流中,该选项后面跟着输入日志的文件
使用:
adb logcat -f /sdcard/log.txt
注意:这个log文件是输出到手机上,需要指定合适的路径
" -c " 选项 : 清空所有的日志缓存信息
" -v " 选项 :
adb logcat -v time:可以看日志的输出时间
adb logcat -v threadtime:可以看日志的输出时间和线程信息
adb logcat -v process:格式为" 优先级 (进程ID) : 日志信息 " 的日志
adb logcat -v tag:格式为 " 优先级 / 标签 : 日志信息" 的日志
adb logcat -v thread :格式为 " 优先级 ( 进程ID : 线程ID) 标签 : 日志内容 " 的日志
adb logcat -v raw :只输出日志信息, 不附加任何其他信息
adb logcat -v long:格式为 " [ 日期 时间 进程ID : 线程ID 优先级 / 标签] 日志信息 " 的日志
过滤项解析
过滤项格式 : <tag>[:priority] , 标签:日志等级, 默认的日志过滤项是 " *:I "
① V : Verbose (明细)
② D : Debug (调试)
③ I : Info (信息)
④ W : Warn (警告)
⑤ E : Error (错误)
⑥ F : Fatal (严重错误)
⑦ S : Silent(Super all output) (最高的优先级, 可能不会记载东西)
例如:
1.显示 Error 以上级别的日志:adb logcat *:E
2.可以同时设置多个过滤器,如:adb logcat WifiHW:D dalvikvm:I *:S 输出 WifiHW 标签 的 Debug 以上级别 和 dalvikvm 标签的 Info 以上级别的日志
Logcat还支持过滤固定字符串、使用正则表达式匹配
例如:
adb logcat | grep -i wifi
adb logcat | grep "^..Activity"
复杂adb命令
命令查看当前运行的包名和Activity,使用它前先要打开待测app:
adb shell dumpsys window | findstr mCurrentFocus
查看app相关所有信息,包括action,codepath,version,需要的权限等等信息:
adb shell dumpsys package <package_name>
package_name可以通过上面的命令获取
也可以使用:
Aapt dump badging APK路径 反编译方式获取
查看app的路径:
adb shell pm path <package_name>
启动activity:
adb shell am start -n <package_name>/.<activity_class_name>
删除与包相关的所有数据,清除数据和缓存:
adb shell pm clear <package_name>
查看某个app的进程相关信息:
adb shell ps | grep <package_name>
杀掉某个进程,一般用于模拟某个bug复现:
adb shell kill pidNumber
查看某一个app的内存占用:
adb shell dumpsys meminfo <package_name|PID>
利用adb命令按住按键:
adb shell input keyevent KEYCODE_POWER
KEYCODE_POWER为键值
手机APP测试(三)相关推荐
- 手机APP测试中iOS和Android有何区别?
目录 前言 一.常识性区别 二.导航方式 三.单条item的操作 四.关于排版 五.实体键 六.动效 前言 今天给大家浅浅的分享一下手机APP测试中iOS和Android有何区别? 一.常识性区别 二 ...
- 如何保证APP兼容性覆盖测试和手机APP测试如何进行兼容性测试?(学习笔记)
1.背景 众所周知,APP兼容性覆盖测试一直以来被认为是一个高成本.耗时低效.耗人力的测试工作,且兼容性测试是一项必须要进行的测试项目,因为有不同的机型.系统平台.分辨率.网络.厂商.数据兼容以及不同 ...
- 浅谈手机APP测试(流程)
小编热衷于收集整理资源,记录踩坑到爬坑的过程.希望能把自己所学,实际工作中使用的技术.学习方法.心得及踩过的一些坑,记录下来.也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己 ...
- 手机APP测试(一)
目录:导读 一.手机测试分类 二.常用操作系统 三.业务功能测试 四.安装/卸载测试 五.UI测试 六.交叉事件测试 七.用户体验测试 八.兼容性与渠道包测试 九.云测平台App测试 一.手机测试分类 ...
- 手机APP测试几个要点
移动互联网App测试点包括: 1.安全测试 1)软件权限 -扣费风险:包括发送短信.拨打电话.连接网络等 -隐私泄露风险:包括访问[url=]手机[/url]信息.访问联系人信息等 -新增风险项 2) ...
- 手机APP测试都要注意哪些问题?
APP测试是一个广泛的概念,根据每个APP的应用场景不一样,测试的方向也略微的不同,在测试过程中需要灵活应用自身所知的测试手段. 安装测试 软件在不同操作系统(Android系统和IOS系统)上是否正 ...
- 手机APP测试流程规范模板
一.流程图 二.测试周期 9.25-10.5 1.测试资源 测试任务开始前,检查各项测试资源. 1.1.产品功能需求文档 1)产品原型图 2)产品效果图 3)行为统计分析定义文档 4)测试设备(And ...
- 手机软件服务器维护,手机APP测试都测试哪些方面
小白经常会问如何测试手机APP,下面整理一下APP的测试内容.功能测试.手机应用功能测试是测试移动应用功能(如用户交互)和用户可能进行的交易的过程.移动应用功能测试的主要目的是确保质量.满足预期.降低 ...
- 手机app测试要点(复制文)
一.简介 移动应用App已经渗透到每个人的生活.娱乐.学习.工作当中,令人激动.兴奋且具有创造性的各种App犹如雨后春笋般交付到用户手中.各类智能终端也在快速发布,而开发者对于全球移动设备的质量和性能 ...
最新文章
- k-NN最近邻算法(k-nearest neighbors algorithm)
- Linux下搜索文件常用方法
- 《Humans vs Computers》作者访谈录
- php使用supervisor管理进程脚本
- Jacobian 和Hessian矩阵
- ICCV2021 比MoCo更通用的对比学习范式,中科大MSRA提出对比学习新方法MaskCo
- ios block常见的错误(二)——循环引用
- idea中使用git只add部分module的更新
- 仅需6道题轻松掌握Python时间和日期处理 | Python技能树征题
- 读书笔记 摘自:《硅谷钢铁侠:埃隆·马斯克的冒险人生》的笔记(作者: 【美】阿什利·万斯)
- 汇编语言在线视频教程
- “学习金字塔理论”--了解,认知与实践
- visio2013画图时两条直线交叉, 如何让它不弯曲
- 在ubuntu中使用visual studio code对C/C++文件调试
- 数据字典的主要作用是什么?
- 2022牛客多校9 BTwo Frogs(概率DP)
- MIMO技术原理、概念、现状简介
- Tensorflow-gpu2.0.0安装【显卡型号:GTX1050 TI】
- html flash 上传插件,flash 插件上传文件 | 浩然东方
- TTL、RS232、485到底能传输多远距离?