monkey软件如何使用(monkey工具使用方法)

技术Monkey工具怎么用这篇文章给大家介绍Monkey工具怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 今天我来讲一下最近上手的一款工具---------monkey。Api网站上是

这篇文章介绍了如何使用Monkey工具,内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

今天我要讲一个最近用的工具——猴子。Api网站将Monkey定义为一个可以生成运行在模拟器或设备上的伪随机用户事件流(如点击、触摸或手势以及许多系统级事件)的程序。您可以使用Monkey以随机和可重复的方式对您正在开发的应用程序进行压力测试。说白了,Monkey可以模拟用户或者系统的反应。在开发过程中进行压力测试。

1、Monkey工具的介绍

Monkey是一个命令行工具,可以在任何模拟器或设备上运行。它向系统发送伪随机用户事件流。实现正在开发的应用程序的压力测试。

Monkey包括很多操作,但一般分为以下四类:

A:基本配置选项,如设置事件数量。

B:对操作的限制,例如只在此包中限制操作。

C:事件类型和频率。

D:debug选项。

Monkey在运行时,会生成事件并发送给系统,同时在测试环境中对系统进行监控,会专门处理以下三种情况:

1如果指定Monkey在一个或多个特定包中运行,它会尝试其他包并同时阻塞。

2如果您正在测试的应用程序崩溃或遇到无法捕获的异常,Monkey将停止并报告错误。

3如果ANR出现在您的应用程序中,Monkey将停止并报告错误。

根据您选择的详细级别日志,您可以看到Monkey运行的过程日志记录。

00-1010 Monkey可以在开发环境中通过命令行或者脚本语言运行。由于Monkey在模拟器或设备上运行,命令行必须有一个shell环境。您可以在adbshell上运行命令。也可以进入Monkey的命令行操作。

基本语法如下:

$ adbshellmonkey[options]事件计数

如果没有[选项],Monkey将以静默模式(无详细级别日志)运行,并同时向设备上的所有包发送事件(命令)。

$ adbshellmonkey-pyour . package . name-v 500

上面的命令是向应用程序发送500个伪随机事件。

Api文档中的命令行详细解释如下:

Monkey工具怎么用

Monkey工具怎么用

Monkey工具怎么用

Monkey工具怎么用

上述api文档中的一些命令参数可以通过- help查看,以及如何使用它们;

例如

Monkey工具怎么用

adbshellmonkey-pcom . ydzy . ydzydemo-v-v-v 10-script-ignore-crasses-hprofoot . txt

上述命令的一般含义是模拟10次伪随机事件,忽略崩溃,而-hprof的含义是会根据之前的事件序列生成分析报告,文件大小约为5MB。这应该与TraceView工具生成的文件相同。输出. txt

这个命令意味着dbhellmonkey-pcom。ydzy . ydzydemo-v-v-v 10-script-Igor

re-crashes -hprof 输出到output.txt文件中。生成的output.txt可以再如下图中位置找到:

Monkey工具怎么用

3 、测试结果分析

  因为如果模拟太多次的话会生成大量文件,所有我上面的伪随机数设置了10,以下是output.txt文件的内容:

(蓝色是日志------ 红色代表我的注解)

:Monkey: seed=0 count=10 (seed 是上面第二部分命令行详解的参数 这个代表伪随机数值生成器,代表多次运行的随机数值相同的话他将生成的事件序列也是相同的 count代表模拟测试伪事件的次数)

:AllowPackage: com.ydzy.ydzydemo

:IncludeCategory: android.intent.category.LAUNCHER

:IncludeCategory: android.intent.category.MONKEY

// Event percentages:(伪事件分类(分别表示touch类型 、motion、 trackball、 syskeys、 nav、 majornav、 appswitch、 flip、 anyevent、)所占时间的比例)

//   0: 15.0%

//   1: 10.0%

//   2: 15.0%

//   3: 25.0%

//   4: 15.0%

//   5: 2.0%

//   6: 2.0%

//   7: 1.0%

//   8: 15.0%

:Switch: #Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.ydzy.ydzydemo/com.ydzy.musicbook.ui.HomeActivity;end(表示跳转到HomeActivity)

    // Allowing start of Intent { act=android.intent.action.MAIN (允许跳转在包中)cat=[android.intent.category.LAUNCHER] cmp=com.ydzy.ydzydemo/com.ydzy.musicbook.ui.HomeActivity } in package com.ydzy.ydzydemo

Events injected: 10(事件注入)

:Dropped: keys=0 pointers=0 trackballs=0 flips=0(丢弃的事件记录)

## Network stats: elapsed time=42ms (0ms mobile, 42ms wifi, 0ms not connected)(统计的花费的事件状况 手机耗时42毫秒 wifi耗时0毫秒 而且网络一直连接)

// Monkey finished(测试完成,如果有异常的话假如没有忽略crashes的话会停止并且显示异常)

如果crashes掉的话应该有 CRASH这种字段

关于Monkey工具怎么用就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157748.html

(3)

相关推荐

  • 以读书为话题的作文600字,以我爱阅读经典文学为主题的作文

    技术以读书为话题的作文600字,以我爱阅读经典文学为主题的作文初中一年级的时候以读书为话题的作文600字,曾害过一场病,父亲听从医生劝嘱,让我休学一年。当时为这我还哭过好 一阵子鼻子,休学,就意味着学业上掉队,但我终究没

    生活 2021年10月27日
  • 如何理解Python RSS处理问题

    技术如何理解Python RSS处理问题这期内容当中小编将会给大家带来有关如何解决Python RSS处理问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python应用程序作为一个

    攻略 2021年10月28日
  • C++模板使用方法是什么

    技术C++模板使用方法是什么本篇文章为大家展示了C++模板使用方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中的模板应用在一定程度上大大提高了程序开发的效

    攻略 2021年10月27日
  • apachedubbo深度分析(apachedubbo异步调用如何实现)

    技术Apache Dubbo全链路异步怎么实现本篇内容介绍了“Apache Dubbo全链路异步怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年12月15日
  • Oracle11g报警功能识别是否会忽略或吞掉错误的程序

    技术Oracle11g报警功能识别是否会忽略或吞掉错误的程序Oracle11g报警功能识别是否会忽略或吞掉错误的程序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年11月29日
  • php7如何将字符串转为数组

    技术php7如何将字符串转为数组这篇文章主要介绍php7如何将字符串转为数组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 转换方法:1、用str_split(),语法

    攻略 2021年11月7日