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移动端测试的更多相关文章

  1. Appium移动端测试--基础预热

    目录 Android自动化环境准备 需要安装的软件: Appium多端架构与自动化 Android自动化前提依赖: 获取App的信息: Android常用命令 adb shell 常用命令列表: An ...

  2. web端测试和移动端测试的区别小记

    转:http://qa.blog.163.com/blog/static/19014700220157128345318/ 之前一直参与web端的测试,最近一个项目加入了移动端,本人有幸参与了移动端的 ...

  3. 端到端测试工具--testcafe

    写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...

  4. 使用node.js & live server在移动端测试网站

    1.安装node.js 下载Node.js官网 cmd下确认node已安装 node -v ※进入node环境 2.确认npm已安装(Node.js的包管理工具(package manager)) n ...

  5. 脚手架vue-cli系列五:基于Nightwatch的端到端测试环境

    不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试 ...

  6. Web端测试和移动端测试

    之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别:   1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来 ...

  7. APP端测试与web端测试的区别

    想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就 ...

  8. cypress 端到端测试框架试用

    cypress 包含的特性 端到端测试 集成测试 单元测试 安装 yarn add cypress --dev 运行测试项目 初始化项目 yarn init -y 安装cypress yarn add ...

  9. 前端端对端测试:基于PhantomJS的CasperJS

    简介 Casperjs是一个基于PhantomJS和SlimerJS的前端端对端测试框架,当然你也可以使用它完成网络爬虫功能,它的特点的通过简单的脚本模拟浏览器行为, 主要有casper.tester ...

随机推荐

  1. python中,如何将字符串转换为数字(将数字转换为整型),字符串的10转换为整型的10,10.5转换为10

    说明: 在实际的应用过程中,有的时候可能会遇到字符串的10,需要将字符串的10转换为数字的10 在此记录下,通过int函数转换的过程. 操作过程: 1.将字符串转换为整型的10 >>> ...

  2. [JS] ECMAScript 6 - Array : compare with c#

    扩展运算符(spread) 先复习下 rest 参数. (1) argument模式,但不够好. // https://blog.csdn.net/weixin_39723544/article/de ...

  3. Ajax简单整理-思维导图

    图片和mmap下载地址:http://pan.baidu.com/s/1jGqUpxk

  4. 升级 Centos 6.5/6.7 的 php 版本

    Centos 6.5/6.7 的 php 预设是用 5.3.3 这个版本号 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-releas ...

  5. java.util.Queue(队列)的简单使用

    import java.util.LinkedList; import java.util.Queue; import org.junit.Before; import org.junit.Test; ...

  6. scala 模式匹配详解 3 模式匹配的核心功能是解构

    http://www.artima.com/scalazine/articles/pattern_matching.html这篇文章是odersky谈scala中的模式匹配的一段对话,我做了部分片段翻 ...

  7. 【SpringCloud微服务实战学习系列】客户端负载均衡Spring Cloud Ribbon

    Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.通过Spring Cloud的封装,可以让我们轻松地将面向服务的RES模板 ...

  8. css3整理--background-clip

    background-clip语法: background-clip : border-box || padding-box || content-box 参数取值: border-box:此值为默认 ...

  9. linux命令学习(5):pwd命令

    Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...

  10. word2016怎么让目录索引显示在左边?

    视图里面 勾选导航窗格即可 前提是你分级分好