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)

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

js数组查找最接近_在JavaScript数组中找到最小元素的位置

在JavaScript数组中找到最小元素的位置注* 之前有篇文章介绍过数据遍历的性能比较: for in 比for loop慢至少20倍 ,这是另外一篇比较数组查找性能的例子,通过对手工/indexOf/reduce三者的比较,再次映证,内置函数不一下…

Mybatis Generator 配置详解

许多人在Java项目中都会到使用Mybatis Generator这个工具包&#xff0c;这里把这个工具的配置完整列一下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Gene…

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

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

html5怎么自动生成meta标签,html中meta标签该如何使用

为什么需要使用标签&#xff1f;在我们制作的网页中&#xff0c;要是想让它能够让更多的人去访问&#xff0c;最好的方法就是通过搜索引擎来找到你的网址&#xff0c;于是需要你的网页可以有关键词能够让搜索引擎来识别&#xff0c;于是HTML中的标签就是这个功能&#xff0c;将…

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

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

存储系统设计——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…

教程 海湾主机crt_海湾消防主机JB-QT-GST5000火灾报警控制器(联动型)与crt是怎么联接编公式的...

联动公式是用来定义系统中报警设备与被控设备间联动关系的逻辑表达式。当系统中的探测设备报警或控制模块的状态发生变化时&#xff0c;控制器可按照这些逻辑表达式自动对被控设备执行“立即启动”或“延时启动”操作。本系统联动公式由等号分成前后两部分&#xff0c;前面为条…

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

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

html实体转换成xa0,关于javascript:反应道具:在JSX动态内容中使用HTML实体?

我有一个React组件&#xff0c;我想为其道具分配一个包含JavaScript变量和HTML实体的字符串。我尝试过的一些方法导致HTML实体被转义。例如&#xff0c;从字面上呈现为" "而不是" –"。有没有办法让HTML实体在分配给React道具的JSX动态内容块中呈现为未转义…

基于Lucene查询原理分析Elasticsearch的性能

前言 Elasticsearch是一个很火的分布式搜索系统&#xff0c;提供了非常强大而且易用的查询和分析能力&#xff0c;包括全文索引、模糊查询、多条件组合查询、地理位置查询等等&#xff0c;而且具有一定的分析聚合能力。因为其查询场景非常丰富&#xff0c;所以如果泛泛的分析其…

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

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

java类验证和装载顺序_Java类的加载机制和双亲委派模型

Java类的加载机制和双亲委派模型1类的加载机制类从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#xff0c;它的整个生命周期包括了&#xff1a;加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(using)、和…

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

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

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发展的人一样&#xff0c;我无法忽略生成建模的最新进展&#xff0c;尤其是图像生成中生成对抗网络&#xff08;GAN&#xff09;的巨大成功。看看下面这些样本&#xff1a;它们与真实照片几乎没有区别&#xff01; 从2014年到2018年&#xff0c;面部生成的进展也非…

floquet端口x极化入射波_请问CST 2012 floquet中的模式设置

大家好&#xff0c;我用的是CST2012&#xff0c;我已经知道floquet中的TE00和TM00分别代表两种互相正交的线偏振的平面波&#xff0c;那如果我想模拟一束非偏振的平面波入射应该怎么设置?另外&#xff0c;如果我是用TE00的偏振光入射&#xff0c;那么在计算透射率的时候在透射…

端口占用8080

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

华为人到底几点钟下班?

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

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

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