`
isiqi
  • 浏览: 16496422 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

如何理解、使用Android LogCat以及通过Monkey进行压力测试

阅读更多

转载自http://www.eoeandroid.com/thread-75701-1-1.html

如何理解、使用Android LogCat以及通过Money进行压力测试

把近几天理解的Log 和大家分享。

在android的学习中,无意间发现了Log是个好东西,网络上也看了相关Sundy的Log分析教程,也写得非常不错,膜拜一下。回归主题:

首先我们要知道LogCat窗口在哪里,一般在DDMS中可以看到,如果没有出现也没有关系,通过“Windown > Show View > LogCat”也能找到相应的窗口,出现之后我们看到了下面图片的提示, Log中有五种类型(Verbose,Debug,Info,Warn,Error),verbose英文字义为“唠叨”,也就是告诉我们程序应该怎么做,Debug 调试不用说了,Info 阐述相应的程序信息,Warn 对程序提出警告,Error 程序出错;看到下面的箭头同时也告诉我们它们的也是有相应的等级权重的,由左到右权重依次增加。
log_1.jpg

看到现在你肯定也有和我以前一样的疑问,那这个log 会是在什么情况下产生呢?产生后我们又应该如何进行处理?
Log 文件产生一般通常有两种情况
1、程序强制关闭或者异常退出的情况,也就是Force Closed (简称:FC)
2、程序无响应的情况,Application No Response (简称:ANR)
顺便提到,ANR产生一般主要由于界面操作过程中,线程响应超过5S,或者是HandleMessage回调函数执行过程中超过10S;
产生log 的位置在手机目录data/log,AVD不会产生Log文件。

在此,我做了一个小小的例子,代码很简单:

private Button button;


/** Called when the activity is first created. */


@Override


public
void onCreate(Bundle savedInstanceState) {


super.onCreate(savedInstanceState);


setContentView(R.layout.main);


this.button = (Button)findViewById(R.id.button_01);


this.button.setOnClickListener(new OnClickListener() {


@Override


public
void onClick(View v) {


// TODO Auto-generated method stub


Log.i("laical", "U click in button");


Toast.makeText(getApplicationContext(), "Button Click 事件", Toast.LENGTH_SHORT)


.show();


Log.v("LaicalNetWork", "Verbose");


Log.d("LaicalNetWork", "Debug");


Log.i("LaicalNetWork", "Info");


Log.w("LaicalNetWork", "Warn");


Log.e("LaicalNetWork","Error");


}


});


}


@Override


protected
void onStart() {


// TODO Auto-generated method stub


super.onStart();


Log.i("StartLog", "Strat log");


}

log_2.jpg


点击Button,然后我们查看相应的Log记录:
log_8.jpg

Time 表示具体日志记录时间,中间的字幕是log 的类型,pid则是它的线程编号,tag为这个log记录的标题,message 则是相应的信息。
这里我们也可以看到tag,msg
log_4.jpg

通过这个Log文件记录,如果程序出现ANR或者FC ,找到log,查找“ANR ”(注意加上空格)或“Fatal”,我们就可以很方便的知道我们的程序具体错误在什么地方,然后定位到相应的代码,听起是不是很方便o(∩_∩)o? 下来赶紧Try下

其次,我们的应用程序总算是写好了,不管你是开发web应用也好,还是Mobile应用,发布的时候总要测试人员进行压力测试通过后,才发布应用让用户使用,对吧?下面就Monkey就登场了,需要用到“adb”,下面通过一个应用来测试下具体的流程。
第一步,cmd 进入“ adbshell”,进入avd 的根目录后,“ls ”看到了一个data的目录,里面就是我们要安装程序的
log_5.jpg

第二步,找到所有安装应用程序的包,其中里面就有你要测试的包的名称
log_6.jpg
log_7.jpg
-p 表示指向的包名,-v 表示要测试的次数,
当然你如果熟悉了Monkey的话,直接“adb -d shell monkey -p your.package.name -v 6000”也是可以的。
接下来所发生的事情省略N个字…….(温馨提示:查看模拟器和log文件,如出现ANR事件,与本人无关,哈哈)人非圣贤,孰能无过,对吧?

差不多了吧,Log目前也只是介绍了个大概,如果有哪些我理解得不对的地方,一定要告诉我,互相交流学习,进步嘛o(∩_∩)o…
分享到:
评论

相关推荐

    一键执行monkey测试(支持多设备并行,自动获取logcat和相应的crash日志,通过input脚本可以扩展功能)

    Monkey测试是一种在Android平台上进行压力测试的方法,它模拟用户随机操作来检测应用的稳定性和性能。这个工具由Android SDK提供,允许开发者通过命令行参数指定事件的数量、类型以及速度等,以此来自动化地生成大量...

    monkey测试分析

    "如何理解、使用Android LogCat以及通过Monkey进行压力测试"这部分内容,LogCat是Android系统提供的一种强大的日志系统,用于记录应用程序及其组件的运行日志。在Monkey测试后,通过LogCat查看错误日志是必不可少的...

    monkey自动化测试

    在运维环境中,Monkey测试是质量保证的重要环节,尤其在应用发布前或更新后,进行大规模的压力测试可以确保应用在真实用户场景下的稳定性和可靠性。 标签“android”表示这是针对Android平台的测试;“自动化”表明...

    monkey 测试IPTV要点

    Monkey测试是一种针对Android系统的自动化压力测试工具,主要目的是模拟用户的各种随机操作,如触摸屏滑动、按键输入等,以此来检测应用的稳定性和性能。本文主要介绍了如何使用Monkey测试Android IPTV系统,并提供...

    andriod自动化压力测试--monkey工具.pdf

    【Android 自动化压力测试——Monkey工具】 Monkey是Android平台上的一种自动化压力测试工具,它能够模拟用户的各种操作,如点击屏幕、滑动、按键等,以此来检测应用程序的稳定性、健壮性和性能。Monkey这个名字...

    Android快速入门教程(图解)——Monkey工具.doc

    (5)使用 Monkey 命令进行自动化压力测试。 (6)测试完毕,发现程序出错了,可以打开 Logcat 查看出错信息。 四、Monkey 命令参数介绍 Monkey 命令参数可以获取 Monkey 命令的使用方法,例如:$ adb shell ...

    Android移动应用测试.pdf

    5. **Monkey工具**:Monkey是压力测试工具,它向系统发送随机的用户事件流,如按键、触摸屏输入,用于测试应用的稳定性和健壮性。Monkey测试可以快速有效地暴露应用程序的潜在问题。 6. **MonkeyRunner**:...

    monkey问题稳定性总结

    8. **压力测试**:通过增加Monkey事件的数量,进行压力测试,观察应用在高负载情况下的表现,进一步暴露潜在问题。 9. **持续集成与自动化**:将Monkey测试集成到持续集成(CI)流程中,每次代码提交后自动运行,能够...

    android monkey指令

    在Android开发与测试领域中,“Monkey测试”是一种常用的压力测试方法,它通过模拟用户的一系列随机操作来检测应用的稳定性和健壮性。Monkey测试能够帮助开发者发现潜在的应用崩溃、无响应以及其他异常行为。下面将...

    Monkey测试方法

    6. 使用 Monkey 命令进行自动化压力测试。在 cmd 中执行 adb shell monkey [options],然后再输入命令为:#monkey -p com.gewara -v 1000(参数说明:-p 后跟着软件所在包名,-v 后跟测试的次数)。 三、Monkey ...

    monkey知识总结

    【Monkey测试】是Android平台上的一个自动化测试工具,主要用于对应用程序进行压力测试,验证其稳定性和健壮性。Monkey通过向系统发送伪随机的用户事件流,如按键、触摸屏点击、滑动等,模拟用户操作,从而检测应用...

    monkey工具的使用及adb常用命令介绍

    Monkey是Android SDK自带的一个命令行工具,它的主要功能是向Android应用程序发送模拟随机用户事件流,如触摸、按键等,以进行压力测试和稳定性测试。通过运行`monkey`命令,我们可以指定要运行的包名,以及事件的...

    MonkeyTest2.0.tar.gz

    MonkeyTest2.0.tar.gz 是一个针对Android应用的自动化测试工具,主要用来进行压力测试和稳定性测试。在Android开发过程中,Monkey测试是一种广泛使用的黑盒测试方法,它通过模拟用户随机操作来检测应用的稳定性和...

    Android ADB深入研究

    Monkey是一个随机事件流的发送器,用于压力测试Android设备上的应用程序。基本用法如下: ```bash adb shell monkey -p <packageName> ``` 其中`<packageName>`是要测试的应用包名,`<eventCount>`是Monkey发送的...

    android测试方法

    - **Monkey测试**:使用`adb shell monkey`命令,向应用发送随机事件流,用于压力测试和稳定性检测。 - **自动化测试**:使用Espresso、UI Automator等工具编写测试脚本,实现界面交互的自动化测试。 - **性能测试**...

    常用Adb命令monkey自动化脚本编写.docx

    Monkey则是一个自动化测试工具,它能够生成随机的用户事件流,用于压力测试应用程序的稳定性和性能。 首先,让我们详细了解一下常用的ADB命令: 1. `adb devices`:列出所有已连接的Android设备或模拟器。 2. `adb...

    客户端文档及demo_Android(20130328).rar

    13. **调试技巧**:包括使用Logcat进行日志输出,分析性能问题,以及使用Monkey测试工具进行压力测试。 14. **发布流程**:从构建APK到通过Google Play Store分发应用的过程,包括签名、版本控制和应用内购买等内容...

    android shell 点击模拟事件脚本 AM_FM.zip

    3. **Monkey测试**:Monkey是Android SDK中的一个自动化测试工具,它随机地向应用发送用户事件流(如触摸、键盘输入等),用于压力测试。Monkey测试的优点在于能快速生成大量随机事件,发现可能存在的不稳定情况。但...

Global site tag (gtag.js) - Google Analytics