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. [JS] Topic - why "strict mode" here

    Ref: Javascript 严格模式详解 使得Javascript在更严格的条件下运行: - 消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; - 消除代码运行的一些不安全 ...

  2. js的 new Date()日期格式化显示以及js获取时间戳

    一.日期格式化显示: 对 new Date() 得到日期的进行格式显示扩展,扩展方法如下: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分 ...

  3. PHP开启伪静态(AppServ服务器)

    mod_rewrite是Apache的一个非常强大的功能,它可以实现伪静态页面.下面我详细说说它的使用方法 1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查 ...

  4. I - Cows

    来源 poj 3348 Your friend to the south is interested in building fences and turning plowshares into sw ...

  5. case when then end

    当 a>b获取a,否则获取b,当a>c获取a,否则获取c,b大于c获取b否则获取c SELECT id,(CASE  WHEN a>b THEN a WHEN  a>c THE ...

  6. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  7. 初窥scrapy爬虫

    2017-10-30  21:49:55 前言: 初步使用scrapy爬虫框架,爬取各个网站信息 系统环境: 64位win10系统,装有64位python3.6,IDE为pycharm,使用cmd命令 ...

  8. TOP100summit2017:网易测试总监钱蓓蕾——新时代测试正走向精英化、自动化、智能化

    壹佰案例:钱蓓蕾老师您好,很荣幸邀请到您成为第六届壹佰案例峰会测试专场的联席主席.您从事测试工作11年了,您觉得最近几年测试工作有什么趋势上的变化么? 钱蓓蕾:测试行业近几年变化挺大的,正逐渐向精英化 ...

  9. sql语句 isnull(列名,'')='' /STUFF的意思

    (1) SELECT  SYXH,ZYHM,YEXH,ISNULL(YETZ,'') AS YETZ ,RYKSMC,RYBQMC,HZXM FROM YG_BRSYK 如果列名数据等于NULL,那么 ...

  10. MySQL的一些概念

    数据库与服务器.客户端的层次关系 关于数据库 程序中需要存储数据的方式: 1 变量(列表.元组.集合.字典.嵌套) 2 外存(文件)(*.ini) 3 表格.Excel(*.xls.*.xlsx.*. ...