一,Android测试新人练习——安装及文件传输

[课前准备] Android测试环境搭建

1、下载并安装JDK:

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

下载过程中需要帐号可自行注册。

2、安装完成后配置JDK的环境变量:

JAVA_HOME 设置为 Java 的安装地址,例如 "D:\Program Files\java\jdk1.6.0_45"

PATH 增加 ";%JAVA_HOME%\bin"

CLASSPATH 设置为 ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"

验证环境变量,在Windows的命令窗口中运行“java -version”。

3、下载并解压缩Android SDK:

http://developer.android.com/sdk/index.html

(注:如果下载的是ADT Bundle,解压缩后只需要里面的sdk部分)

下面是Android SDK中的主要目录和文件:

<DIR>      platform-tools

<DIR>      platforms

<DIR>      tools

357,814 AVD Manager.exe

357,814 SDK Manager.exe

目录和文件说明:

-          创建Android模拟器用 AVD Manager.exe;

-          安装Android工具、API用 SDK Manager.exe;

-          常用的工具在 platform-tools、tools 两个目录。

如 platform-tools 目录下有 adb.exe ;

如 tools 目录下有 ddms.bat 。

[课堂练习] Android应用安装

常用的4种方式:

1、发布渠道

Google Play、应用宝、Samsung市场、91市场、360市场、Amazon、Android市场、安智市场、百度、豌豆夹等。

2、官网下载apk

3、安装命令

# adb install filename.apk (安装)

# adb install -r filename.apk (覆盖安装)

# adb uninstall com.tencent.mobileqq(App签名不同的安装包不能覆盖安装,必须先卸载;包名com.tencent.mobileqq可以通过安装包/运行进程信息/日志等查看到)

4、测试和内部体验:RDM小秘书

http://rdm.wsd.com/

[课堂练习] Android日志提取

1、UI工具

DDMS、Monitor

过滤:指定应用的包名,Error级别的日志可获取crash信息

2、命令工具

# adb logcat

# adb logcat -c && adb logcat (清除历史日志并查看新日志)

# adb logcat *:E (Error级别的日志)

# adb logcat | findstr “mobileqq” (根据名称过滤日志)

[课堂练习] Android上传下载文件

1、UI工具

腾讯手机管家、91手机助手等

2、命令工具

# adb push pc_file mobile_file (将文件上传到Android手机)

# adb pull mobile_file pc_file (从手机获取日志)

[课堂练习] Android工具软件安装

1、首先需要ROOT

2、上传工具软件(以tcpdump为例)

> adb push tcpdump /data/local (上传要安装的文件)

> adb shell

$ su

# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system (让分区可写)

# cat /data/local/tcpdump > /system/xbin/tcpdump (没有mv、cp命令,用cat替代)

# chmod 755 /system/xbin/tcpdump (修改文件权限,使之可执行)

# mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system (关闭可写属性)

# exit

$ exit

二,Android测试新人练习2——使用adb和shell命令

BusyBox是标准Linux工具的一个单个可执行实现,通常适用于精简的嵌入式系统中。BusyBox包含了一些简单的工具,例如cat和echo;还包含了一些更大、更复杂的工具,例如grep、find、mount以及telnet;并且集成了一些简单的服务器,例如dnsd、ftpd、httpd、telnetd以及tftpd。

下载并安装Busybox:

l  http://www.cnblogs.com/xiaowenji/archive/2011/03/12/1982309.html

l  或者通过Google Play搜索并安装Busybox

l  或下载地址:https://play.google.com/store/apps/details?id=stericson.busybox

如果想在手机终端上输入并执行shell命令,可安装Terminal Emulator应用。

l  通过Google Play搜索并安装Terminal Emulator

l  或下载地址:https://play.google.com/store/apps/details?id=jackpal.androidterm

[课前准备] Windows下的ADB工具

ADB的全称为Android Debug Bridge,即Android调试桥,主要用于管理设备或模拟器。Windows下的ADB工具主要为Android SDK中platform-tools目录下的3个文件:adb.exe、AdbWinApi.dll和AdbWinUsbApi.dll。

[课堂练习] adb命令

查看设备                # adb devices

获取设备序列号 # adb get-serialno

指定设备执行命令 # adb -s [device serial no] [command]

关闭ADB服务     # adb kill-server

启动ADB服务     # adb start-server

安装应用                # adb install [apk-file]

覆盖安装                # adb install -r [apk-file]

卸载应用                # adb uninstall [com.*.*]

USB连接映射端口 # adb forward tcp:[port-local] tcp:[port-mobile]

传文件到设备      # adb push <source-local> <destination-mobile>

从设备拷文件      # adb pull <source-mobile> <destination-local>

查看bug报告       # adb bugreport

查看日志                # adb logcat

[课堂练习] adb shell命令

进入设备或模拟器Shell # adb shell

直接执行Shell命令     # adb shell [command]

显示目录和文件 # ls

进入目录                # cd [path]

创建目录                # mkdir [dir-name]

删除空目录           # rmdir [dir-name] (删除含有文件的目录可用rm -r)

例:查看设备安装的应用apk文件名(su提权后, # ls /data/app)

删除文件      # rm [file-name]

移动或重命名 # mv [path-src] [path-dst] (Android系统在同一个分区内可用此命令)

查看文件      # cat [file-name]

复制文件      # cat [file-src] > [file-dst]

修改文件属性 # chmod [???] [file-name] (4读2写1执行,读+写6,读+执行5)

编辑文本文件 # echo “line of content” > [file-name] (>表示新建,>>表示文末追加)

搜索文件内容 # grep “search content” [file-name]

过滤命令内容 # ps | grep mobileqq

网络联通性 # ping [IP-addr]

查看网络状态 # netstat -an

查看网口信息 # ifconfig eth0

查看系统属性 # getprop

查看运行的进程 # ps

中止允许的进程 # kill [pid or process-name]

查看进程资源信息 # top

查看CPU信息      # cat /proc/cpuinfo

查看RAM信息    # cat /proc/meminfo

查看ROM占用    # df

[课堂练习] busybox命令

查看busybox命令列表 # busybox

创建空文件           # busybox touch [file-name]

复制文件                # busybox cp [file-src] [file-dst]

搜索文件                # busybox find /mnt/sdcard -name mobileqq

查看RAM占用信息# busybox free

查看网口信息      # busybox ifconfig -a

查看路由信息      # busybox route

例:在freewifi环境使用telnet连接

手机端打开远程登录服务 # busybox telnetd -l /system/bin/sh

手机端查看接入IP地址  # busybox ifconfig

电脑端访问 # telnet ipaddr

Android测试入门学习的更多相关文章

  1. android的入门学习

    android 入门学习. 活动:就是一个包含应用程序的用户界面的窗口.目的就是与用户交互. 意图:就是能够将来自不同应用程序的不同活动无缝连接在一起工作的"胶水",确保这些任务执 ...

  2. 1、Android测试入门

    编写和运行测试时Android APP开发周期中的重要的一环.好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信.使用Android Studio,你可以在物理设备或者虚拟机中运 ...

  3. Android测试入门篇

    Android本身是一套软件堆叠(Software Stack),或者成为软件叠层架构,叠层主要分成三层:操作系统.中间件和应用程序. Android构架 1. Application 应用程序层:用 ...

  4. Android 测试入门之---Monkey test

    这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...

  5. Android SurfaceView入门学习

    学习资料: Android 开发群英传 搜索学习资料时,搜到了罗升阳老师的Android视图SurfaceView的实现原理分析,老罗老师写的一系列博客,一年前开始学习Android时看不懂,现在依然 ...

  6. mockito测试入门学习

    一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...

  7. Android多线程入门学习

    (1)进程间通信交换信息的一种方式--使用handler: (2)在主线程中new一个Handler对象,并重写他的handlerMessage(Message msg)方法: (3)Message中 ...

  8. Android渗透测试Android渗透测试入门教程大学霸

    Android渗透测试Android渗透测试入门教程大学霸 第1章  Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前 ...

  9. Android M中 JNI的入门学习

    今年谷歌推出了Android 6.0,作为安卓开发人员,对其学习掌握肯定是必不可少的,今天小编和大家分享的就是Android 6.0中的 JNI相关知识,这是在一个安卓教程网上看到的内容,感觉很不错, ...

随机推荐

  1. PHPStorm配置xdebug(phpStudy/wamp)

    一.下载并配置XDebug wamp环境: 1.获取xdebug

  2. spring aop,静态及动态代理例子

    @Aspect@Componentpublic class AopText { @Pointcut("execution(public * com.llf.service.*Service. ...

  3. String系列01 - String 60%

    1.String简介 String类实现CharSequence接口.(同时,实现Serializable, Comparable 接口). String类使用final修饰符,为final类,不可被 ...

  4. PyCharm2018激活码

    亲测可用: 来自:https://blog.csdn.net/u014044812/article/details/78727496

  5. 一次“Error Domain=AVFoundationErrorDomain Code=-11841”的调试

    一次"Error Domain=AVFoundationErrorDomain Code=-11841"的调试 起因 最近在重构视频输出模块的时候,调试碰到AVAssetReade ...

  6. Python 基础 模块

    python 中模块和保定 概念 如果将代码分才投入多个py 文件,好处: 同一个变量名也互不影响.   python 模块导入 要使用一个模块,我们必须先导入该模块.python 使用import ...

  7. 用js计算自己从出生到现在生活了多长时间(x天零x小时零x分钟零x秒) 初学者,大家多多包涵,有不足的地方请多包涵。

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Web前端---HTTP协议

    目录 HTTP协议 一.http协议概述 二.http请求报文 1.GET请求 2.POST请求 三.http响应报文 1.响应报文内容 2.状态码(Status Code) HTTP协议 一.htt ...

  9. attr 和 prop的区别

    attr 返回的是字符串 prop 返回的是布尔值

  10. jquery实现漂亮的轮播图

    今天工作中要用到一个轮播功能,在网上找了一些,觉得有些过于繁琐,于是自己动手写了一个,效果如图: 代码如下: <!DOCTYPE html> <html lang="en& ...