android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...

简介

这个项目是CrashMonkey4Android可执行文件

原版不支持64位java,只支持32位的

此版本支持java 64位,并且修改了一些内部逻辑,把CrashMonkey4Android 和CrashMonkey4Android_tradefederation 重新打包

2017-3-13更新

1.去掉了每个monkey操作时候的截图,实际执行感觉截图作用不大,而且很耗费时间

2.logcat默认是有缓存的,现在收集log之前先清理了缓存,解决多次循坏执行日志相互重叠的问题

3.monkey命令100ms延迟,大概是1分钟执行100次monkey事件

CrashMonkey4Android 简介

CrashMonkey4Android,是一个依靠Cts框架,对原生Monkey进行改造后的产物,拥有以下新增功能:

1. 保存每一步的截图(去掉了)..

2. 保存logcat.

3. 保存每一个Monkey事件的信息.

4. 分析Crash.

5. Html报告.

6. 支持多设备.

执行和报告

前提保证手机已经连接到电脑,adb devices命令能找到设备;默认配置文件在android-cts\tools\config\cts.xml,可自行修改

启动脚本在tools文件夹下,windows执行start.bat,mac执行 start;

在打开的窗口命令行中输入 run cts --p 测试app的包名 --a 测试app的主activity,然后回车;

android-cts\repository\logs 存放执行日志和截图

android-cts\repository\results 存在执行的报告,index.html 是报告的入口

多个设备可同时进行,报告是分开的,默认执行50次会生成一个报告,之后会循环执行

报告截图

index

index.png

result

result.png

trace

trace.png

环境要求

安装JDK1.7+并配置环境变量.

安装SDK并配置环境变量.

参数配置

我们提供了很多可供配置的参数.

查看参数

我们可以通过在命令行下输入run cts --help-all 获取所有的可设置参数:

test options:

--p package of test app

--a main activity of test app

--v monkey event count Default: 20.

--throttle The delay time between the events Default: 300.

--pct-touch percentage of tap event Default: 75.0.

--pct-motion percentage of motion event Default: 25.0.

--pct-syskeys percentage of system key event Default: 5.0.

--logcat-size The max number of logcat data in bytes to capture when --logcat-on-failure is on. Should be an amount that can comfortably fit in memory. Default: 20480.

--plan the test plan to run.

--[no-]reboot Do not reboot device after running some amount of tests. Default behavior is to reboot. Default: false.

--[no-]skip-device-info

flag to control whether to collect info from device. Providing this flag will speed up test execution for short test runs but will result in required data being omitted from the test report. Default: false.

--[no-]device-unlock unlock device Default: false.

--app-path local app's path

--wifiSsdk wifi username

--wifiPsk wifi password

--[no-]skip-uninstall-app

no uninstall test app Default: true.

--monkey-log-size monkey log size Default: 10485760.

-b, --[no-]bugreport take a bugreport after each failed test. Warning: can potentially use a lot of disk space. Default: false.

--[no-]tracefile get trace file ,in /data/anr/trace.txt Default: false.

'stdout' logger options:

--log-level minimum log level to display. Default: INFO. Valid values: [VERBOSE, DEBUG, INFO, WARN, ERROR, ASSERT]

主要属性:

p :测试app的包名.

a :测试app的主activity,如果正确设置上面两项,Monkey会针对上面-p指定的应用测试,一直保持在该应用界面.

注意:-a和-p两个参数要一起使用,否则不起作用.

throttle:2个Monkey事件之间的间隔,默认为300毫秒.

pct-touch:点击事件的百分比,默认为70%.

pct-motion:多点滑动事件百分比,默认为25%.

pct-syskeys:系统事件百分比.(只保留了 Back操作),默认为5%.

可以定制比例,但是上面的数字相加一定要为100%.

reboot : 重启机器,默认为false,不重启.如果想要重启的话,直接在命令行附上该参数,不用在后面加true,因为boolen类型的设置方式和其他不一样.

device-unlock:解锁手机,默认为false,如果收集重启的话,建议将该属性设置为true.解锁原理就是利用appium自带的apk来解锁的.

skip-device-info:是否跳过设备信息获取,默认为false.因为我们的报告中用到了设备信息,所以建议不要将该属性设置为true.

app-path:如果应用需要从本地安装,用该属性设置app路径,会自动安装app到收集端.

wifiSsdk:wifi的用户名

wifiPsk:wifi的密码

因为该工具支持自动连接wifi,所以你的app需要在wifi情况下工作,请设置这两个属性,它会自动检测断网并重连.

skip-uninstall-app:是否跳过卸载app的阶段,因为如果使用本地app安装后,有时想卸载应用,可以设置该属性为false.默认是不卸载.

monkey-log-size:如果针对某一个应用测试,该工具为该app单独收集log,这里可以设置log可以最大到多少B.

bugreport:是否保存bugreport信息,默认为false.如果研发想要bugreport信息,将该属性设置为true.

tracefile:是否保存trace.txt文件,该文件位于/data/anr/trace.txt.一般发生crash的时候会用到该文件分析问题.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)

目前业界有各种各样的网络输出传输时的序列化和反序列化方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度、对系统的影响、传输数据的大小、可维护性及可阅读性等方面…

MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作

2018年10月份,DB-Engines 发布了月全球数据库排名,排名前三的一如既往还是Oracle、MySQL、Microsoft SQL Server。排名是重要指标,同时增长率的重要性也同样备受重视。 MariaDB以黑马之势,强势席卷DB-Engines榜单 在DB-Engines跟…

2025年将达6.4万亿美元!AI这下玩大了……

最近,在看大厂新季度财报时,发现了“搜狗”亮眼的成绩。就在前天,搜狗发布了2019年第三季度财报:营收3.149亿美元,实现14%的同比增长,高于行业增长速度。搜狗的净利润达3660万美元,比去年同期增…

存储系统设计——NVMe SSD性能影响因素一探究竟

目录 1 存储介质的变革 2 NVME SSD成为主流 2.1 NAND FLASH介质发展 2.2 软件层面看SSD——多队列技术 2.3 深入理解SSD硬件 3 影响NVME SSD的性能因素 3.1 GC对性能的影响 3.2 IO PATTERN对性能的影响 3.2.1 顺序写入Pattern对SSD性能优化的奥秘 3.2.2 读写冲突Patte…

使用IntelliJ IDEA 2020 高效开发 springboot项目

文章目录一、快速开发基础配置1. 全局配置2. maven3. 自动导入包4. 取消大小写敏感一、快速开发基础配置 前置知识: 有些时候明明都设置好了一些配置,但是新建项目之后,就恢复默认设置了,原因是你设置的配置支队你刚打开的这一个…

首次落地中国大陆的OpenInfra:中国对于开源做出的贡献力量已不可忽视

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘丹责编 | 阿秃一张标志着上海现代建筑地标的东方明珠海报,另一张展示着上海悠久历史的豫园景区海报,不仅向我们展示了这座城市浓厚的历史气息与现代化的繁荣,也让我们看到了OpenStack历经…

任正非:华为 5G 是瞎猫碰死老鼠

喜欢话糙理不糙的任正非,又飙金句。11月6日,在和彭博社记者对话时,谈到华为5G,他说:“回顾这个过程,我们也没有什么必胜的信心,有时候也是瞎猫碰上了死老鼠,刚好碰上世界是这个需求。…

html5游戏开发box2djs,Box2D.js简易示例

Box2dWeb example//在页面加载完毕后启动整个Box2D程序function init() {//简化缩写各个对象名称var b2Vec2 Box2D.Common.Math.b2Vec2;var b2AABB Box2D.Collision.b2AABB;var b2BodyDef Box2D.Dynamics.b2BodyDef;var b2Body Box2D.Dynamics.b2Body;var b2FixtureDef Bo…

七个不容易被发现的生成对抗网络(GAN)用例

像许多追随AI发展的人一样,我无法忽略生成建模的最新进展,尤其是图像生成中生成对抗网络(GAN)的巨大成功。看看下面这些样本:它们与真实照片几乎没有区别! 从2014年到2018年,面部生成的进展也非…

端口占用8080

1. winr键输入cmd进入命令行:执行以下命令: netstat -ano 2. 找到8080端口对应的pid 3. 打开任务管理器:找到对应的pid,右击结束任务即可

华为人到底几点钟下班?

戳蓝字“CSDN云计算”关注我们哦!作者 | 程序猿责编 | 阿秃转自 | 鲜枣课堂近日,在职场论坛上有这样一个帖子:华为员工晒出7天的上班打卡记录。该员工晒出自己在 9 月份 23 号到 29 号的打卡记录。其中每天 9 点 30 之前打卡&am…

手把手教你数据不足时如何做深度学习NLP

作为数据科学家,你最重要的技能之一应该是为你的问题选择正确的建模技术和算法。几个月前,我试图解决文本分类问题,即分类哪些新闻文章与我的客户相关。 我只有几千个标记的例子,所以我开始使用简单的经典机器学习建模方法&#…

怎样判断一个网站是不是前后端分离的?

1.页面右击选择【检查】或者打开谷歌开发者模式 2.选择【NetWork】,重新刷新页面 3. 选择XHR 全称(xmlhttprequest),后,下面会有地址列表;查看页面的数据是从页面渲染的数据还是通过后端api接口获取的 4.左侧点击第一个链接&…

五年,时间告诉我只有自己强大才是真的强大!

曾经以为,阿里可能只是自己经过的一个小小驿站。 却没想到,一来就是五年。 当我们问起那些来了五年的阿里人:过去的这五年里,最“值得”的是什么? 他们这样说—— 回忆起和主管一起坐摩托车去拜访客户的兴奋&#x…

AI:为你写诗,为你做不可能的事

戳蓝字“CSDN云计算”关注我们哦! 最近,一档全程高能的神仙节目,高调地杀入了我们的视野:没错,就是撒贝宁主持,董卿、康辉等央视名嘴作为评审嘉宾,同时集齐央视“三大名嘴”同台的央视《主持人大…

工程师如何“神还原”用户问题?闲鱼回放技术揭秘

我们透过系统底层来捕获ui事件流和业务数据的流动,并利用捕获到的这些数据通过事件回放机制来复现线上的问题。本文先介绍录制和回放的整体框架,接着介绍里面涉及到的3个关键技术点,也是这里最复杂的技术(模拟触摸事件&#xff0c…

英特尔推出世界最大 FPGA 芯片;任正非表示华为尚未直接和美国公司商谈5G技术授权;OpenTitan开源……...

戳蓝字“CSDN云计算”关注我们哦! 嗨,大家好,重磅君带来的【云重磅】特别栏目,如期而至,每周五第一时间为大家带来重磅新闻。把握技术风向标,了解行业应用与实践,就交给我重磅君吧!重…

前端传递json,后端应该怎样接收呢?

Content-Type: application/json#后端接收方式 RestController RequestMapping("/user") Slf4j public class UserController {/*** param userForm*/PostMapping("/register")public ResponseVo register(RequestBody UserForm userForm) {log.info("…

网络数据隐私保护,阿里工程师怎么做?

个人数据挖掘和个人隐私保护,并非鱼与熊掌,可视分析的技术手段能够帮助我们保护个人隐私数据,避免后续的数据挖掘暴露隐私的同时,平衡数据质量发生的变化,减少对后续数据挖掘的影响。针对网络数据中的隐私保护问题&…

刷爆了!这份被程序员疯传的Python神作牛在哪?

随着AI的兴起,Python彻底火了。除了谷歌爬虫、Google广告等项目在大量使用Python开发。包括豆瓣、知乎在内的很多互联网公司都将 Python 作为了主要编程语言开发。对于程序员来说,Python应用前景广,市场需求大,随之而来的是薪资非…