网站类型定义,跨境电商网站排行榜,wordpress站点app开发,网站建设技术氵金手指排名26Android 基本测试工具的使用和无线学习介绍1#xff0c;日志查看工具1#xff09;DDMSAndroid测试中#xff0c;使用最多的日志查看工具就是DDMS了。ddms可以从两个地方打开#xff0c;1#xff0c;Eclipse的的ddms插件#xff08;属于Eclipse 的SDK插件#xff09;日志查看工具1DDMSAndroid测试中使用最多的日志查看工具就是DDMS了。ddms可以从两个地方打开1Eclipse的的ddms插件属于Eclipse 的SDK插件2在Android SDK安装目录下的tools文件夹下面。DDMS功能非常齐全不仅仅可以查看日志还可以截图打开文件目录终止进程等等功能这里先直说查看日志看日志就靠这一块了。日志的过滤等级Error :error为最严重的错误如果是抛到虚拟机的系统错误就可能引起客户端崩溃比如最为常见的空指针异常。Warning :警告一般严重比如网络异常什么一般不会有crash但需要引起注意过滤warning异常的时候会同时过滤出error错误。Info :信息也就是一些系统的信息比如页面切换时间手机信号量等等、过滤info信息同时会过来出warning和error信息Debug debug信息系统的一些debug信息包括所有errorwarning和info。Verbose:详情包括所有error warning info和debug还有其他的一些详情Assert断言没见过可能跟单元测试有关。日志的显示一条日志分为7部分1level 等级即上文说的errorwarning等有系统决定开发打印的日志也可自行决定等级。2time时间日志时间。3pid进程ID4tid线程ID5application应用有时候会打印出所属的应用名称如com.taobao.taobao6tag标签开发可以自行设定log的标签便于过滤7text文本即日志内容DDMS的其他日志功能日志清空日志保存日志过滤日志暂停日志过滤DDMS的详细使用可以参考http://developer.android.com/tools/debugging/ddms.html中文版http://wiki.eoeandroid.com/Using_DDMS2Logcat命令一般使用的不多仅仅在ddms启动不了或者识别不了手机的时候才会使用。前提条件安装了Android SDK。使用方法直接在命令行下输入adb logcat如果日志非常多强烈建议将文件重定向到文件里面。或者先输入adb shell 再使用logcat命令日志多的话可以加管道操作进行过滤即logcat|grep XXXX。具体使用和ddms差不多不多由于日志很多用这种方法常年看不过来。日志内容和ddms一致3Wmock如果不需要关注客户端本地日志只需要看客户端应用层的网络请求的话。可以之间用wmock来抓取网络中的HTTP请求具体见http://m.taobaotest.com/wmock/不在赘述。4Wireshark和tcpdump如果遇到一些比较难以解决的bug需要深入TCP请求甚至IP请求就需要用tcpdump对客户端的进行抓包如TCP的keepalive包具体操作如下4_1,root手机手机需要root权限否则无法使用tcpdump。4_2下载tcpdump的Android版本用push命令将文件推到手机中。不建议推送到SD卡会有权限问题,可以放到手机的data文件夹下,。adb push [PCPATH][mobilPATH]4_3,提升tcpdump的权限。用adb shell进入android bash后需要手机使用root权限先提升权限然后chmod777 tcpdump。4_4抓包启动你要测试的APP后适当的时间就可以开始抓包可在tcpdump当前目录下直接使用tcpdump -p -vv -s 0 –w[pcapfilePath] 就可以实现抓包使用ctrl C停止。4_5,导出.pcap文件。退出adb bash , 使用pull命令将.pcap文件导出到PCadb pull[mobilPath] [PCPATH]4_6,使用wireshark将日志文件打开即可以看到所抓到的包了。5使用fiddler软件抓取网络请求具体用法和wmock类似只是fiddler使用自己的机器作为代理服务器而wmock使用专用的代理服务器。2性能工具1monkey工具Monkey可以运行在模拟器或真实设备上并产生一系列随机的用户事件点击、触摸、手势以及系统级别的事件。Monkey一般用来进行压力测试或稳定性测试。Monkey通过 adb shell monkey [options] 命令来启动常用的参数包括–p [package name]指定测试包,参数即为包名如主客户端就是com.taobao.taobao–s [seed]指定事件随机参数参数即为随机数的种子值。如果这个参数相同理论上能够复现所有事件。- v[number] number制定发送伪随机事件的次数。注意这个随机事件并非一个时间点只发送一个随机时间有可能同时发送几个事件。--throttle [milliseconds]:每次发送事件的时间间隔单位为毫秒测试的时候常常设定为1000~500之间。如果不设置点击间隔会非常短。下图就是客户端monkey的一些点击日志如果需要系统输出的日志。请使用logcat命令收集并进行重定向。具体参数情况请查看帮助文档http://developer.android.com/tools/help/monkey.html缺点遍历深度优先部分页面需要登录的页面无法遍历到性能监测工具2_1,top工具使用adb shell进入Android bash下面然后和linux下的top一样。不懂的话top –h。具体这里不在细说。2_2,android的dumpsys命令通过dumpsys命令也可以获取手机中一些APK包的系统信息可以直接通过cmd命令行输入adb shell dumpsys [options]就可以了参数包括2_3,ddms的系统检测用ddms也可以用来检测性能通过选项device和进程就可以查到app的内存消耗堆栈消耗CPU消耗网络消耗等等信息以及控制模拟器只有模拟器真机不行。下图为网络消耗下图为内存消耗具体使用还是看http://developer.android.com/tools/debugging/ddms.html3文件查看工具1)手机软件各种手机助手比如91手机助手豌豆荚等等都有很好的查看手机文件系统的工具。但是这些手机助手只能看SD卡里面的。只能应付日常最基本的使用。2)DDMS能够查看Android文件系统的大多数目录但部分没有相关权限的目录貌似是所有用户的读权限无法查看。启动方法为通过device-File Explorer,出现下图页面优点是ddms可以方便的导入导出数据到这些不需要root权限的目录里面。使用方法左上角的图标应该都能看懂吧3)Adb bash 查看Adbbash其实可以看成一个阉割版的linux bash系统用adb shell进入adb bash后其他操作与linux系统基本无差异但部分命令会无法使用。如下图感觉一切都非常熟悉吧。只要你的手机是root过的OK畅游手机的系统文件。4)RE浏览器(rootexplorer)一句话神器但前提是你的手机必须root。在手机上装上RE后很多操作就可以在手机上以可视化界面完成了甚至可以增删改系统文件。由于权限很高务必小心操作。比如说一些app内部文件可以直接通过RE浏览器来查看并修改确定是文件的哪个值发生了错误引起客户端的bug。最后针对这一块注释一下一些常用的文件存放地址自己安装的APK存放地址/data/app下淘宝客户端临时文件缓存如图片等/sdcard/taobao,这个各个客户端不一样有没有SD卡也有影响APP的私有文件即需要到系统中清除缓存的APP/data/data/packageName下面APP的ANR日志 :/data/anr 下面系统预装的APP/system/app下面注意慎删误删挂了什么别怪我没提醒一般只有预装包和我们测试的APP出现了冲突的时候才回去删除Adb命令 /system/bin 下面Android系统源代码目录 /system/framework 下面系统配置文件/etc 下面4打包及签名打包过程介绍(为了解决打包过程中的问题而介绍一下)1生成R文件使用aapt.exe程序生成R.java文件如果Eclipse打开了build AutoMatically就会在打开工程的时候完成。2生成aidl文件使用aidl.exe程序,把.aidl文件转化为.java文件。这步如果打开Eclipse的build AutoMatically的功能的话也会自动生成3将.java文件生成.class文件使用javac将.Java变成.class。4将class文件打包生成class.dex文件使用dx脚本class文件打包生成class.dex文件5打包资源文件包括所有的resasserts, Androidmanifest.xml等等文件使用aapt.exe文件打包6生成未签名的APK安装文件使用apkbuild打包成未签名的apk包7签名使用jarSigner.jar进行签名。8优化对齐这边注意两点1如果打包需要混淆需要在第3和第4步之间将className进行替换达到混淆的效果。2用Eclipse run出来的包默认保存在工程的bin目录下面这个包默认使用的是debug的签名如果覆盖安装我们自己签名的APK包会造成签名不一致的冲突。打包工具ANTMaven5自动化测试框架Sword6内存的查看内存的查看工具使用的是Eclipse 下面的mat插件内存文件查看的过程1导出内存文件从ddms上面选择需要查看内存的进程然后把hprof文件dump下来dump成功后将生成一个命名为app包名.hprof的文件2hprof文件进行转换。由于android的hprof文件mat文件无法打开需要使用androidSDK的自带工具进行转码操作。具体命令为hprof-conv [path] [path]3在mat中打开文件出现上图后就可以根据内存地址找到泄漏的点或者客户端内非常消耗的内存模块了7其他常用工具1Host修改在日常测试过程中经常需要修改手机的host使其能够访问特定的机器。Android的host文件和linux系统一样处在/etc/hosts文件当中。但文件需要root权限才能够查看且文件是只读的即使有root权限你也无法覆盖。目前的修改办法是在手机上装上RE浏览器然后强制修改host文件保存退出后生效。2强制Kill进程使用DDMS的进程终止工具选择一个进程要求APP是debug包否则找不到这个进程这个按钮会变成红色点击就可以kill进程了。3内存回收GC强制回收内存还是靠DDMS如下图按钮。内存“Cause GC”按钮强制触发GC之后就可以不用按了他会自动触发内存的回收如果随着APP的使用dataObject持续出现变大的情况说明APP有内存泄漏的情况现在的客户端也会报警。如果需要导出需要通过ddms 将heap dump生成出来用来分析4网络延时和降低带宽网络延时可以通过wmock来实现当然更加简单的方法就是通过更换sim卡来实现用2G网络就可以达到网络延时提高和网络带宽的目的两个目的。5,APK打包解包命令 aapt 命令 :如aapt dump xmltree [apk path] AndroidManifest.xml 或者aapt dbadging 命令可以检查APK包中的信息 转载于:https://blog.51cto.com/lilier/1335073