Android测试入门学习
一,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测试入门学习的更多相关文章
- android的入门学习
android 入门学习. 活动:就是一个包含应用程序的用户界面的窗口.目的就是与用户交互. 意图:就是能够将来自不同应用程序的不同活动无缝连接在一起工作的"胶水",确保这些任务执 ...
- 1、Android测试入门
编写和运行测试时Android APP开发周期中的重要的一环.好的测试可以让你非常容易的在开发过程中发现bug,提升你对自己代码的自信.使用Android Studio,你可以在物理设备或者虚拟机中运 ...
- Android测试入门篇
Android本身是一套软件堆叠(Software Stack),或者成为软件叠层架构,叠层主要分成三层:操作系统.中间件和应用程序. Android构架 1. Application 应用程序层:用 ...
- Android 测试入门之---Monkey test
这周重点学习的也是Android monkey test 的一些相关知识,也对其进行了初步的操作和试验.讲学习资料整理如下 : Monkey是一个命令行工具 ,可以运行在模拟器里或实际设备中.它向系统 ...
- Android SurfaceView入门学习
学习资料: Android 开发群英传 搜索学习资料时,搜到了罗升阳老师的Android视图SurfaceView的实现原理分析,老罗老师写的一系列博客,一年前开始学习Android时看不懂,现在依然 ...
- mockito测试入门学习
一.什么是mock测试,什么是mock对象? 先来看看下面这个示例: 从上图可以看出如果我们要对A进行测试,那么就要先把整个依赖树构建出来,也就是BCDE的实例. 一种替代方案就是使用mocks 从图 ...
- Android多线程入门学习
(1)进程间通信交换信息的一种方式--使用handler: (2)在主线程中new一个Handler对象,并重写他的handlerMessage(Message msg)方法: (3)Message中 ...
- Android渗透测试Android渗透测试入门教程大学霸
Android渗透测试Android渗透测试入门教程大学霸 第1章 Android渗透测试 Android是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机.平板等.目前 ...
- Android M中 JNI的入门学习
今年谷歌推出了Android 6.0,作为安卓开发人员,对其学习掌握肯定是必不可少的,今天小编和大家分享的就是Android 6.0中的 JNI相关知识,这是在一个安卓教程网上看到的内容,感觉很不错, ...
随机推荐
- 回顾C#经典算法冒泡排序
冒泡算法的原理: 比较相邻的两个数字,如果第一个数字比第二个数字大,则交换它们位置 从开始第一对比较到结尾最后一对,最后一个数字就是最大数 除了最后一个数字,再次从开始第一对比较到最后一对,得出第二大 ...
- PAT——1027. 打印沙漏
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两 ...
- 关于换行这个动作,win 和 mac 的实现
‘\r'是回车,前者使光标到行首,(carriage return)'\n'是换行,后者使光标下移一格,(line feed) \r 是回车,return\n 是换行,newline 对于换行这个动作 ...
- HTML和CSS基础知识
html基本结构<html>内容</html> html开始标记<head>内容</head> html文件头标记<title>内容< ...
- iOS利用block实现链式编程方法(Objective-C链式编程)
objc利用block实现链式编程方法 因为不好读.block和其他语言的匿名函数一样,很多程序员刚开始很难主动去用他. 本文描述block作为属性的实际使用,看懂block,并讲解如何利用block ...
- SpirteKit深度复制SKSpriteNode节点及convert转换其它Scene上的节点到当前场景坐标
Playground输出的代码 ,注意右侧打印出的SpriteNode输出值,HAPPY_NODE的输出信息一致. SpriteNode //MARK:- 扩展SkSpriteNode属性 exten ...
- C# 自定义特性Attribute
一.特性Attribute和注释有什么区别 特性Attribute A:就是一个类,直接继承/间接继承Attribute B:特性可以在后期反射中处理,特性本身是没有什么*用的 C:特性会影响编译和运 ...
- 【学时总结】 ◆学时·III◆ 二分图
[学时·III] 二分图 ■基本策略■ 其实本质是图论中的网络流 二分图是两个由多个点组成的集合(上部和下部,且没有重叠),两个集合中的点不与该集合内其他的点连通,但和另一个集合内的点连通.我们称这两 ...
- IDEA导入eclipse项目并部署到tomcat
1.首先引入本地项目 我这里是maven项目就直接选择的以maven项目引入,如果选eclipse的话,pom文件不会被初始化,部署tomcat会出问题 这项选完后,就一路next,jdk可以在引入的 ...
- RuntimeError: Cannot run in multiple processes: IOLoop instance has already been initialized. You cannot call IOLoop.instance() before calling start_processes()
解决方法: settings中的debug改为false,或者注释掉 参照: https://stackoverflow.com/questions/32521122/cannot-run-in-mu ...