adb移动端测试
1. Android介绍
Android 是google公司主导的一个开放的手机操作系统,不过目前已经超过了手机的局限,而定位于移动设备的操作系统。 Android一词的本义指“机器人”,取名原因很简单。开发者叫Andy Rubin。中文官方称呼“安致”,民间称呼“安卓”。
Android由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分:
底层以Linux内核工作为基础,由C语言开发,只提供基本功能;
中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。
Android各个版本都是以甜品名称命名的。一群吃货。
Android不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。
注意:
因为Android是开源的,所以导致很多手机厂商(比如华为、小米等)就直接把源代码拿过来进行修改,定制自己的手机操作系统,所以大家就会看到市面上有很多乱七八糟的Android系统,这也直接导致了测试Android系统比iOS系统难得多。
2017谷歌I/O大会:宣布 Kotlin 成 Android 开发一级语言。感兴趣的同学可以去学一样。
华为、小米等手机厂商主要修改的就是上图中的Application Framework层的代码。
SQLite是嵌入在手机Android系统中的一款小型的数据库,它的SQL语句与mysql相差很少。
2.Android SDK(Software Development Kit)的安装和配置
Android SDK,即Android Software Development Kit。
它提供了在Windows/Linux/Mac平台上开发Android应用的开发组件。包含了在Android平台上开发移动应用程序的各种工具集。
3.安装java环境
4.启动配置好SDK的Android版本eclipse
4.1 解压android版本 eclipse
4.2 直接启动
5.创建虚拟机进行测试
6.启动虚拟机
7.ADB
7.1 ADB介绍
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机)
它的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备
7.2 配置ADB环境变量
计算机→属性→高级系统设置→高级→环境变量→系统变量
新建“ADB_HOME”变量,变量值为:D:\software\adt-bundle-windows-x86_64_20140101\sdk\platform-tools(根据adb的实际安装路径填写)。
在path变量里添加变量值:;%ADB_HOME%;
配置之后在cmd窗口输入adb,显示命令用法则说明配置成功。
注意:adb 不配置环境变量也能使用,但是每次需要进入到安装目录,比较麻烦。如果你想要在任意地方都能使用的话,就需要配置环境变量。
配置adb环境变量之前:
配置adb环境变量之后:
7.3 ADB常用指令
查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
注意:模拟器默认创建的第一台设备叫做emulator-5554,第二台设备叫做emulator-5556。
安装软件
adb install <apk文件路径>
这个命令将指定的apk文件安装到设备上
注意:将login.apk直接拖到命令行,命令行会直接显示其绝对路径。
卸载软件
adb uninstall <软件包名>
adb uninstall -k <软件包名>
如果加 -k 参数,为卸载软件但是保留配置和缓存文件
注意:此处的软件名并不是login。因为市面上有很多软件名相同,那么我们如何区分他们呢?在/res/AndroidMainifest.xml文件中,有一个package = "com.example.login",这才是软件名,是区分软件名的唯一标识。当然这是程序员查看的方法,我们可以使用adb shell pm list packages命令查看包名。
查看手机上应用包名
adb shell pm list packages
登录设备shell
adb shell
adb shell <command命令>
这个命令将登录设备的shell
后面加<command命令>将是直接运行设备命令, 相当于执行远程命令
C:\Users\Administrator>adb shell
root@android:/ # ls #查看目录
ls
acct
cache
config
d
data
default.prop
dev
etc
init
init.goldfish.rc
init.rc
init.trace.rc
init.usb.rc
mnt
proc
root
sbin
sdcard
storage
sys
system
ueventd.goldfish.rc
ueventd.rc
vendor
root@android:/ # cd mnt #进入mnt目录
cd mnt
root@android:/mnt # ls #查看mnt目录
ls
asec
obb
sdcard
secure
shell
root@android:/mnt # cd sdcard #进入sdcard目录
cd sdcard
root@android:/mnt/sdcard # ls #查看sdcard目录
ls
Alarms
DCIM
Download
LOST.DIR
Movies
Music
Notifications
Pictures
Podcasts
Ringtones
root@android:/mnt/sdcard # rm -rf Music #删除Music目录
rm -rf Music
root@android:/mnt/sdcard # ls #查看Music目录是否被删除:已删除
ls
Alarms
DCIM
Download
LOST.DIR
Movies
Notifications
Pictures
Podcasts
Ringtones
root@android:/mnt/sdcard # exit #退出
exit C:\Users\Administrator>
登录手机设备后简单操作举例
查看手机内存情况
adb shell dumpsys cpuinfo
查看内存情况
adb shell getprop | findstr dalvik :本机内存的使用情况
查看应用内存使用情况
adb shell dumpsys meminfo +包名:应用的内存使用情况
查看手机日志
adb logcat
注意:此命令一回车就会动态显示log。
将手机日志输出到本地文件中
adb logcat -v time process > C:/log/aa.txt
注意:-v time process可使log打印后在每行开头显示时间。
有多台设备是adb选择设备
adb -s <设备名> logcat -v time process > E:/log/c.txt
显示所有优先级大于等于“warning”的日志
adb logcat *:W
8.adb devices找不到设备怎么办?
我的手机连接到电脑,打开USB调试模式后,命令行输入adb devices找不到设备。试了网上的很多方法(比如这里),都没有成功。后来发现是缺少驱动程序。在http://adbdriver.com/downloads/下载ADB Driver Installer后安装,重新连接即可。
adb移动端测试的更多相关文章
- Appium移动端测试--基础预热
目录 Android自动化环境准备 需要安装的软件: Appium多端架构与自动化 Android自动化前提依赖: 获取App的信息: Android常用命令 adb shell 常用命令列表: An ...
- web端测试和移动端测试的区别小记
转:http://qa.blog.163.com/blog/static/19014700220157128345318/ 之前一直参与web端的测试,最近一个项目加入了移动端,本人有幸参与了移动端的 ...
- 端到端测试工具--testcafe
写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...
- 使用node.js & live server在移动端测试网站
1.安装node.js 下载Node.js官网 cmd下确认node已安装 node -v ※进入node环境 2.确认npm已安装(Node.js的包管理工具(package manager)) n ...
- 脚手架vue-cli系列五:基于Nightwatch的端到端测试环境
不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试 ...
- Web端测试和移动端测试
之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别: 1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来 ...
- APP端测试与web端测试的区别
想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就 ...
- cypress 端到端测试框架试用
cypress 包含的特性 端到端测试 集成测试 单元测试 安装 yarn add cypress --dev 运行测试项目 初始化项目 yarn init -y 安装cypress yarn add ...
- 前端端对端测试:基于PhantomJS的CasperJS
简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester ...
随机推荐
- Ubuntu 14.04 配置VNC服务 配置Xfce4桌面
一.安装配置VNC 1.首先安装VNC apt-get install vnc4server 2.为VNC设置密码 vncpasswd 输入密码,然后再确认一遍,就OK了. 3.启动VNC vncse ...
- 慢慢看Spring源码
1. 要想在java技术上提升一下,不看一下java源码是不行的,jdk源码,框架源码等.但是源码那么多,专门去看源码肯定很枯燥,所以就得一点一点看,坚持下去.有一点心得就记一点,如org.sprin ...
- sometimes we should use "disable fork" instead of "disable block_name"
A disable named block statement stops the execution of all blocks with that same name in all threads ...
- linux 常用 掌握要点 详细终结
linux 命令大全 每个开发者应该了解的 10 个 Linux 命令 1.查看正在执行的进程(Process) ps命令 Process Status 进程状态 语法: ps [option] ...
- 移动端H5混合开发,Touch触控,拖拽,长按, 滑屏 实现方案
概述 近期由于产品快速原型开发的需要,不想用原声的方式开发App两端一起搞时间来不及,目前产品处于大量上feature的阶段,采用混合开发是最合适的选择,所以花了3天的时间研究怎么去实现移动端,拖拽, ...
- Multi-Database Transaction Demo
public ResultM UploadFile(FileInfoM pFileInfoM) { ResultM result = }; DbModel db = new DbModel(); Db ...
- Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式
Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...
- 查看线程的进程id
import os from threading import Thread def f1(n): print(n) print('%d号线程的id是%s'%(n,os.getpid())) if _ ...
- Canonical form
https://en.wikipedia.org/wiki/Canonical_form#Linear_algebra Suppose we have some set S of objects, w ...
- bootstrape学习
bootstrape学习 已分享到有道上:http://note.youdao.com/share/?id=076fb6314c99c742a79f6fb66b2a58b0&type=note ...