Monkey测试

一:测试环境搭建

              1:下载android-sdk_r24.4.1-windows

              2:下载Java

              3:配置环境变量:关于怎么配置环境变量(百度一下:monkey环境搭建,)

二:monkey测试:

1:基本命令:adb shell monkey

注:在这个操作之前,设备必须要电脑连接,如图:

  

2:monkey高级参数应用

Seed实践

       1:首先要打开待测得apk,然后在命令行里面输入:adb shell dumpsys activity | find “mFocusedActivity”,获取要测试的APP包名,如图:

以计算器为例,测试

命令:adb shell monkey –p com.android.calculator2 –v 100

注:-p: 用此参数指定一个或多个包。指定包之后,monkey将只允许系统启动指定的app

 -v:用亍指定反馈信息级别(信息级别就是日志的详细程度),总共分3个级别

如图:

三:seed实践

       用亍指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的

              命令:adb shell monkey –p com.android.calculator2 –v 1000,执行过程出现程序报错,

如图的意思:在执行第七次时,随机数生成器的seed值,如:seed值后面的数值。Seed值一般用于复现现象,比如说:当程序出现报错时,会随机生成seed值,此时只要在命令中加入seed值,就能复现问题。

输入:adb shell monkey -p com.android.calculator2 -s 1262865229687 1000

四:--throttle实践

              用亍指定用户操作(即事件)间的时延,单位是毫秒;如果指定这个参数,monkey会尽可能快的 生成和发送消息

       输入:adb shell monkey -p com.android.calculator2 –-throttle 3000 100

:忽略崩溃事件

              --ignore-crashes,

APP压力测试12小时,会出现各种程序报错和异常,需要加入:以下参数:

输入:adb shell monkey -p com.android.calculator2 --ignore-crashes –v –v 100000

即使出现程序报错异常,也照常测试,不会停止测试

六:忽略超时事件

              --ignore-timeouts

APP压力测试12小时,会出现各种程序报错和异常,需要加入:以下参数:

输入:adb shell monkey -p com.android.calculator2 --ignore-timeouts

 –v –v 100000

即使出现程序超时等待,也照常测试,不会停止测试

Monkey  日志结果分析

1crash结果析取

       实践过程:1:安装待测试的APP

                     2:执行压力命令

                     3:析取crashException的信息

例子:adb shell monkey -p com.android.calculator2 -v -v 1000 >D:123.txt

       在测试计算器时,出现报错,可以查看log日志,在日志中搜索“”crash“”关键字

      

      

截取crash之后的log信息,提供给开发工程师,分析原因

21ANR结果析取

       实践过程:1:安装待测试的APP

                     2:执行压力命令

                     3:析取ANRException的信息

例子:adb shell monkey -p com.android.calculator2 --ignore-crashes -v -v 10000 >D:123.txt

       在测试计算器时,出现程序无响应时,可以查看log日志,在日志中搜索“”crash“”关键字

Monkey参数大全,请参考:百度    

http://www.cnblogs.com/bixiaopeng/articles/2149904.html

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

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

相关文章

再次总结nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题

之前也写过两篇关于NIOS II 出现:Downloading RLF Process failed的问题,但是总结都不是很全面,小梅哥的教程总结的比较全面特此记录。 问题:nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题。 即当nios中…

基于electron25+vite4创建多窗口|vue3+electron25新开模态窗体

在写这篇文章的时候,查看了下electron最新稳定版本由几天前24.4.0升级到了25了,不得不说electron团队迭代速度之快! 前几天有分享一篇electron24整合vite4全家桶技术构建桌面端vue3应用示例程序。 https://www.cnblogs.com/xiaoyan2017/p/17…

7.JavaScript-vue

1 JavaScript html完成了架子,css做了美化,但是网页是死的,我们需要给他注入灵魂,所以接下来我们需要学习JavaScript,这门语言会让我们的页面能够和用户进行交互。 1.1 介绍 通过代码/js效果演示提供资料进行效果演…

2023 彩虹全新 SUP 模板,卡卡云模板修复版

2023 彩虹全新 SUP 模板,卡卡云模板,首页美化,登陆页美化,修复了 PC 端购物车页面显示不正常的问题。 使用教程 将这俩个数据库文件导入数据库; 其他的直接导入网站根目录覆盖就好; 若首页显示不正常&a…

游戏逆向中的 NoClip 手段和安全应对方式

文章目录 墙壁边界寻找碰撞 NoClip 是一种典型的黑客行为,允许你穿过墙壁,所以 NoClip 又可以认为是避免碰撞体积的行为 墙壁边界 游戏中设置了碰撞体作为墙壁边界,是 玩家对象 和墙壁发生了碰撞,而不是 相机 玩家对象有他的 X…

操作系统初探 - 进程的概念

目录 预备知识 冯诺依曼和现代计算机结构 操作系统的理解 进程和PCB的概念 PCB中的信息 查看进程信息的指令 - ps pid 进程状态 预备知识 在学习操作系统之前我们需要先了解一下如下的预备知识。 冯诺依曼和现代计算机结构 美籍匈牙利科学家冯诺依曼最先提出“程序存…

MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving

● MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving(基于神经辐射场的自动驾驶仿真器) ● https://github.com/OPEN-AIR-SUN/mars ● https://arxiv.org/pdf/2307.15058.pdf ● https://mp.weixin.qq.com/s/6Ion_DZGJ…

paddle2.3-基于联邦学习实现FedAVg算法-CNN

目录 1. 联邦学习介绍 2. 实验流程 3. 数据加载 4. 模型构建 5. 数据采样函数 6. 模型训练 1. 联邦学习介绍 联邦学习是一种分布式机器学习方法,中心节点为server(服务器),各分支节点为本地的client(设备&#…

cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)

在现代企业中,设计图纸是公司的重要知识产权,关系到公司的核心竞争力。然而,随着技术的发展,员工获取和传播设计图纸的途径越来越多样化,如何有效地防止员工复制设计图纸成为了企业管理的一大挑战。本文将从技术、管理…

QT常用控件介绍

QT信号与槽机制 connect (A,SIGNLA(aaa()),B, SLOT(bbb())); GUI继承简介 布局管理器 垂直布局水平布局网格布局表单布局 输出控件 Label: 标签Text Browser: 文本浏览器Graphics View : 图形视图框架Calendar Widget: 日历控件LCD Number: 液晶字体数…

VSCode 在部分 Linux 设备上终端和文本编辑器显示文本不正常的解决方法

部分Linux设备上运行VSCode时,发现文本编辑器的缩放不明显,终端字体间距过大等。 这里以Kali Linux为例,其他Linux发行版请选择对应的系统内置的等宽字体 我们依次打开 设置 -> 外观 -> 字体 这里我们可以发现,Kali Linux默…

数据结构与算法----递归

1、迷宫回溯问题 package com.yhb.code.datastructer.recursion¥5;public class MiGong {public static void main(String[] args) {// 先创建一个二维数组,模拟迷宫// 地图int[][] map new int[8][7];// 使用1 表示墙// 上下全部置为1for (int i 0; i…

SpringBoot详解

文章目录 1. Xml 和 JavaConfig1.1 什么是 JavaConfig1.2 JavaConfig 配置容器1.3 ImportResource1.4 PropertyResource 2. 注解SpringBootApplication3.Spring Boot 核心配置文件3.1 yaml格式3.2 .yml 文件3.3 多环境配置3.4 Spring Boot 自定义配置3.4.1 Value 注解 3.5 注解…

浏览器指定DNS

edge--设置 https://dns.alidns.com/dns-query

计算机毕设 大数据B站数据分析与可视化 - python 数据分析 大数据

文章目录 0 前言1 课题背景2 实现效果3 数据获取4 数据可视化5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做…

有时候,使用 clang -g test.c 编译出可执行文件后,发现 gdb a.out 进行调试无法读取符号信息,为什么?

经过测试,gdb 并不是和所有版本的 llvm/clang 都兼容的 当 gdb 版本为 9.2 时,能支持 9.0.1-12 版本的 clang,但无法支持 16.0.6 版本的 clang 可以尝试使用 LLVM 专用的调试器 lldb 我尝试使用了 16.0.6 版本的 lldb 调试 16.0.6 的 clan…

kafka客户端应用参数详解

一、基本客户端收发消息 Kafka提供了非常简单的客户端API。只需要引入一个Maven依赖即可&#xff1a; <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.13</artifactId><version>3.4.0</version></depend…

Java后端模拟面试,题集①

1.Spring bean的生命周期 实例化 Instantiation属性赋值 Populate初始化 Initialization销毁 Destruction 2.Spring AOP的创建在bean的哪个时期进行的 &#xff08;图片转载自Spring Bean的完整生命周期&#xff08;带流程图&#xff0c;好记&#xff09;&#xff09; 3.MQ如…

2023年哪款PDF虚拟打印机好用?

PDF文档想必大家都不陌生&#xff0c;在工作中经常会用到该格式的文档&#xff0c;那么有哪些方法能制作PDF文档呢&#xff1f;一般都是借助PDF虚拟打印机的&#xff0c;那么有哪些好用的软件呢&#xff1f; pdfFactory不仅为用户提供了丰富的PDF文档生成、打印功能&#xff0…

【JavaEE】JavaScript

JavaScript 文章目录 JavaScript组成书写方式行内式内嵌式外部式&#xff08;推荐写法&#xff09; 输入输出变量创建动态类型基本数据类型数字类型特殊数字值 String转义字符求长度字符串拼接布尔类型undefined未定义数据类型null 运算符条件语句if语句三元表达式switch 循环语…