App移动端测试 —— Monkey的日志

news/2024/10/21 11:26:40/

Monkey的日志对于分析脚本的执行情况十分必要。

Monkey 日志由以下几部分组成:

测试命令信息:随机种子 seed、运行次数、可运行应用列表、各事件百分比。

正文内容从这里开始(可直接省略,亦可配图说明)。

01—Monkey 日志详解

 Monkey 日志由以下几部分组成:

        测试命令信息:随机种子 seed、运行次数、可运行应用列表、各事件百分比 (代码区域可以左右滑动,滑动可查看更多哦)

Adb shell monkey –v 200-v代表日志的级别,最多3个-v,分别0、1、2几个级别

 Monkey的日志

   考虑日志的存放位置,便于查看

输出到本地pc上:

adb shell monkey -v 50 > F:\monkeylog.txt

结果详解

使用 Monkey 进行测试结束后,我们关注的是应用在测试中是否出现崩溃或无响应这类问题。测试结果可以通过如下方法判断:

-  在日志中搜索“CRASH”,如果搜到,可以判断 App 在测试过程中发生过崩溃问题;

-  在日志中搜索“ANR”,如果搜到,可以判断 App 在测试过程中发生过无响应的问题;

     可以把这些关键字,连同其上下文,包括 Java 异常信息和其他相关信息一起提交。其中,Java 异常信息主要有以下类型:

  - 算术异常类:ArithmeticExecption  - 空指针异常类:NullPointerException  - 类型强制转换异常:ClassCastException  - 数组负下标异常:NegativeArrayException  - 数组下标越界异常:ArrayIndexOutOfBoundsException  - 违背安全原则异常:SecturityException  - 文件已结束异常:EOFException  - 文件未找到异常:FileNotFoundException  - 字符串转换为数字异常:NumberFormatException  - 操作数据库异常:SQLException  - 输入输出异常:IOException  - 违法访问错误:IllegalAccessError  - 内存不足错误:OutOfMemoryError  - 堆栈溢出错误:StackOverflowError

保存到手机上​​​​​​​

root@shamu:/ # monkey -v 20 > /sdcard/monkeylog.txtroot@shamu:/ # cd sdcardroot@shamu:/sdcard # ls monkey*monkeylog.txtroot@shamu:/sdcard # more monkeylog.txt

对日志的类型(常规日志、错误日志)进行区分

1.日志的标准输出,2.错误流(信息)

C:\Users\Leo>adb shell monkey -v 50 1>F:\1monkeylog.txt 2>F:\monkeyerror.txt

复现问题

如果需要复现问题,可以在日志中找到当时执行的 Seed 值,再次构建 monkey命令运行几次。构建命令时,seed 值自定义,定义与第一次运行相同。程序运行的初始界面也与第一次运行相同。后续回归问题也用同一个命令,seed 值保持相同。 如果问题不易复现,需要多运行几次,或多运行一段时间。如果你觉得文章读的不过瘾,可以查看详细的视频教程。


如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:


http://www.ppmy.cn/news/351228.html

相关文章

mac下部署和访问 Kubernetes 仪表板(Dashboard)

简介 Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kub…

oracle中的正则表达式

^ 使表达式定位至一行的开头 $ 使表达式定位至一行的末尾 * 匹配 0 次或更多次 ? 匹配 0 次或 1 次 匹配 1 次或更多次 {m} 正好匹配 m 次 {m,} 至少匹配 m 次 {m, n} 至少匹配 m 次但不超过 n 次 [:alpha:] 字母字符 [:lower:] 小写字母字符 [:upper:] 大写字母字符 [:digit…

【C/C++】初始化列表

1.简介 C初始化列表是一种用于在对象构造过程中初始化成员变量的语法结构。它使用在构造函数的参数列表后面使用冒号(:)来指定成员变量的初始化值。 2. 用法 以下是初始化列表的基本语法形式: ConstructorName(argument list) : member1(…

[C语言实现]数据结构之《关于我转生成队列这档事》

🥰作者: FlashRider 🌏专栏: 数据结构 🍖知识概要:详解队列的概念、顺序队列和链式队列的优点和缺点,以及代码实现。 目录 什么是队列? 选择什么结构来实现队列? 链式队列的实现 队列的结构…

二分法(java)

目录 一、简介:二、模板:三、例题: 一、简介: 二分法是一种常见的算法思想,也称为二分查找、折半查找。其核心思想是通过将目标数据与有序的数据序列进行比较,每次查找都将数据序列一分为二,确定…

Java之接口interface

概念interface 1.类是类,接口是接口,他们是同一层次的概念,接口定好规则后,实现类负责重写方法 2.内容:抽象方法常量 常量:固定修饰符(可省略) 抽象方法:abstract 定义接…

Telerik Report Server R2 2023

Telerik Report Server R2 2023 仪表报告项-使用仪表或类似表盘的显示提供数据的可视化表示。 报告项上的AccessibleRole属性-ARIA(可访问的富Internet应用程序)支持已显著改进。在Web上,当启用了辅助功能时,呈现的报表项包含预定义的辅助功能角色。这样…

【学术小白如何写好论文】文献综述

文章目录 一、前言1.目的2.作用 二、切入角度三、写作方法 一、前言 前言:在撰写这部分的时候,我们首先要明确文献综述的目的是什么,作用是什么。 1.目的 梳理前人研究的脉络找出前人研究的不足 2.作用 让本研究更充实,告诉读者…