IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 手机APP测试(三) -> 正文阅读

[移动开发]手机APP测试(三)

一、环境搭建

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为键值


感谢每一个认真阅读我文章的人!!! 如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如果在学习或工作中遇到问题可以直接点击此链接进群询问,群里也会有大神帮忙解答,也可以手动添加群号 743262921 备注222

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:35:55  更:2021-12-24 18:37:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:03:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码