CN113051146A - 基于Monkey的测试方法、装置、设备及存储介质 - Google Patents

基于Monkey的测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113051146A
CN113051146A CN202110383494.6A CN202110383494A CN113051146A CN 113051146 A CN113051146 A CN 113051146A CN 202110383494 A CN202110383494 A CN 202110383494A CN 113051146 A CN113051146 A CN 113051146A
Authority
CN
China
Prior art keywords
monkey
test
log
configuration data
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110383494.6A
Other languages
English (en)
Other versions
CN113051146B (zh
Inventor
贾泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Ping An International Smart City Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202110383494.6A priority Critical patent/CN113051146B/zh
Publication of CN113051146A publication Critical patent/CN113051146A/zh
Application granted granted Critical
Publication of CN113051146B publication Critical patent/CN113051146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及人工智能技术领域,揭示了一种基于Monkey的测试方法、装置、设备及存储介质,其中方法包括:根据Monkey测试配置数据的待测试的页面标识和Monkey测试配置数据得到Monkey测试脚本;根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试得到测试结束请求和Monkey测试日志,并且执行Monkey测试配置数据中的命令得到Logcat日志;响应测试结束请求根据Monkey测试日志得到待分析的错误日志关键字集合;分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中得到目标系统日志。使整个测试可控,确保了日志的完整性,使问题可以复现。

Description

基于Monkey的测试方法、装置、设备及存储介质
技术领域
本申请涉及到人工智能技术领域,特别是涉及到一种基于Monkey的测试方法、装置、设备及存储介质。
背景技术
当前业内中针对Android-Monkey(压力测试命令)的使用,要么是直接使用命令行来运行,要么进行一次封装利用图形界面进行运行。针对Android-Monkey的使用,通过设置好参数后进行测试后需要手动过滤测试结果导致日志分析比较耗时,通过随机发送操作动作进行测试导致不可控,而且获取的日志只有Monkey的日志但是没有系统日志,导致日志不完整,从而使问题不可复现。
发明内容
本申请的主要目的为提供一种基于Monkey的测试方法、装置、设备及存储介质,旨在解决现有技术针对Android-Monkey的使用,通过设置好参数后进行测试后需要手动过滤测试结果导致日志分析比较耗时,通过随机发送操作动作进行测试导致不可控,而且获取的日志只有Monkey的日志但是没有系统日志,导致日志不完整,从而使问题不可复现的技术问题。
为了实现上述发明目的,本申请提出一种基于Monkey的测试方法,所述方法包括:
获取测试请求,所述测试请求携带有Monkey测试配置数据;
响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
进一步的,所述获取测试请求的步骤,包括:
获取配置数据上传请求;
响应所述配置数据上传请求,获取所述Monkey测试配置数据;
根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求。
进一步的,所述根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求的步骤,包括:
根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包;
根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到所述目标移动设备中;
根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,对所述目标移动设备进行应用安装检测,得到应用安装检测结果;
当所述应用安装检测结果为未正确安装时,重复执行所述根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包的步骤,直至所述应用安装检测结果为已正确安装;
当所述应用安装检测结果为已正确安装时,生成所述测试请求,将所述目标移动设备中的所述目标应用标识对应的所述目标版本号对应的应用作为所述目标应用。
进一步的,所述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,包括:
获取所述待测试的页面标识对应的页面的控件数据,得到待测试的控件数据集合;
获取预设的执行指令格式;
基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合;
获取运行逻辑库;
根据所述待测试的页面标识和所述Monkey测试配置数据,从所述运行逻辑库中进行查找,得到目标运行逻辑数据;
根据所述Monkey测试执行指令集合和所述目标运行逻辑数据进行测试脚本生成,得到所述Monkey测试脚本。
进一步的,所述基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合的步骤,包括:
针对所述待测试的控件数据集合中每个控件,根据所述Monkey测试配置数据中的单控件操作动作数量和操作比例配置数据进行操作动作生成,得到所述待测试的控件数据集合中各个控件各自对应的待处理的操作动作;
基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所有所述待处理的操作动作、所述Monkey测试配置数据中的所述Monkey测试参数数据进行Monkey测试执行指令生成,得到所述Monkey测试执行指令集合。
进一步的,所述根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志的步骤,包括:
根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,生成所述目标应用对应的所述Monkey测试日志;
在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,当获取到页面跳转信号时,根据所述页面跳转信号获取页面标识,作为待判断的页面标识;
根据所述Monkey测试配置数据中的黑名单,对所述待判断的页面标识进行黑名单判断,得到黑名单判断结果;
当所述黑名单判断结果为属于黑名单时,根据所述待测试的页面标识,从所述Monkey测试配置数据中获取跳转异常返回页面标识,得到待返回的页面标识,将所述待返回的页面标识作为所述待测试的页面标识;
当所述黑名单判断结果为不属于黑名单时,将所述待判断的页面标识作为所述待测试的页面标识;
重复执行所述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,直至获取到所述测试结束请求。
进一步的,所述响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合的步骤,包括:
响应所述测试结束请求,对所述Monkey测试日志进行错误日志关键字提取,得到待去重的错误日志关键字集合;
对所述待去重的错误日志关键字集合进行去重处理,得到所述待分析的错误日志关键字集合。
本申请还提出了一种基于Monkey的测试装置,所述装置包括:
请求获取模块,用于获取测试请求,所述测试请求携带有Monkey测试配置数据;
待测试的页面标识确定模块,用于响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
Monkey测试脚本确定模块,用于根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
Monkey测试日志确定模块,用于根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
Logcat日志确定模块,用于在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
待分析的错误日志关键字集合确定模块,用于响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
目标系统日志确定模块,用于分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的基于Monkey的测试方法、装置、设备及存储介质,通过根据待测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本,根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试,得到测试结束请求和目标应用对应的Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;通过在根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存,得到目标应用对应的Logcat日志,根据Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合,分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中进行日志截取,得到目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现;整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
附图说明
图1为本申请一实施例的基于Monkey的测试方法的流程示意图;
图2为本申请一实施例的基于Monkey的测试装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了解决现有技术针对Android-Monkey的使用,通过设置好参数后进行测试后需要手动过滤测试结果导致日志分析比较耗时,通过随机发送操作动作进行测试导致不可控,而且获取的日志只有Monkey的日志但是没有系统日志,导致日志不完整,从而使问题不可复现的技术问题,本申请提出了一种基于Monkey的测试方法,所述方法应用于人工智能技术领域。所述基于Monkey的测试方法,通过根据需要测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑以得到测试脚本,采用测试脚本对目标应用中的页面进行测试以得到Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;而且在采用测试脚本对目标应用中的页面进行测试以得到Monkey测试日志的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存以得到Logcat日志,根据Monkey测试日志和Logcat日志确定目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现,整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
参照图1,本申请实施例中提供一种基于Monkey的测试方法,所述方法包括:
S1:获取测试请求,所述测试请求携带有Monkey测试配置数据;
S2:响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
S3:根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
S4:根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
S5:在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
S6:响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
S7:分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
本实施例通过根据待测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本,根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试,得到测试结束请求和目标应用对应的Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;通过在根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存,得到目标应用对应的Logcat日志,根据Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合,分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中进行日志截取,得到目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现;整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
对于S1,可以获取用户输入的测试请求,也可以获取第三方应用系统发送的测试请求,还可以是实现本申请的程序文件触发的测试请求。
测试请求,是对安装在目标移动设备中的目标应用进行Monkey测试的请求。
Monkey测试配置数据,是进行Monkey测试的配置数据。
对于S2,响应所述测试请求,从所述Monkey测试配置数据中获取预设的起点页面标识,将获取的预设的起点页面标识作为所述目标应用的所述待测试的页面标识。
预设的起点页面标识,也就是页面标识。页面标识可以是页面名称、页面ID等唯一标识一个移动设备的应用的页面的标识。
对于S3,首先根据待测试的页面标识和Monkey测试配置数据生成执行指令,得到Monkey测试执行指令集合,然后根据Monkey测试执行指令集合和Monkey测试配置数据进行运行逻辑,得到目标运行逻辑数据,最后根据Monkey测试执行指令集合和目标运行逻辑数据进行测试脚本生成,得到Monkey测试脚本。
Monkey测试脚本可以采用Java语言开发,也可以采用Python进行开发。
对于S4,根据所述Monkey测试脚本对所述目标移动设备中的所述目标应用中的所述待测试的页面标识对应的页面进行测试,测试结束生成测试结束请求,并且在测试的过程中生成所述目标应用对应的Monkey测试日志。
Monkey测试日志,主要包括Crash日志和ANR日志。Crash日志,是指引发应用程序崩溃的问题的日志。ANR日志,是指应用程序响应不够灵敏时,系统会向用户显示的一个对话框时的日志。
对于S5,在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令,将所述目标应用的运行日志按所述Monkey测试配置数据中的预设保存路径进行保存,将保存后的运行日志作为所述目标应用对应的所述Logcat日志。
Logcat,是Android中一个命令行工具。
运行日志包括但不限于:页面标识、控件标识、操作动作标识、操作时长。
控件标识可以是控件名称、控件ID等唯一标识一个控件的标识。
操作动作标识可以是操作动作名称、操作动作ID等唯一标识一个操作动作的标识。操作动作包括但不限于:点击、长按、滑动。
对于S6,在获取到所述测试结束请求时,根据所述Monkey测试日志进行错误日志关键字提取,根据提取的所有错误日志关键字确定待分析的错误日志关键字集合。
对于S7,获取预设截取行数;分别针对所述待分析的错误日志关键字集合中每个所述错误日志关键字,采用往后截取的方式,从所述Logcat日志中截取与所述预设截取行数相同行数的日志,将截取的所有日志作为所述目标系统日志。也就是说,对所述logcat日志中截取错误日志关键字后所述预设截取行数的数据。
可以理解的是,步骤S1至步骤S7可以应用于手机,也可以应用于其他移动设备的应用。其他移动设备包括但不限于:平板电脑、智能穿戴设备。
在一个实施例中,上述获取测试请求的步骤,包括:
S11:获取配置数据上传请求;
S12:响应所述配置数据上传请求,获取所述Monkey测试配置数据;
S13:根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求。
本实施例实现了根据配置数据上传请求自动进行应用程序包安装和生成测试请求,提高了自动化,提高了测试效率。
对于S11,可以获取用户输入的配置数据上传请求,也可以获取第三方应用系统发送的配置数据上传请求,还可以是实现本申请的程序文件触发的配置数据上传请求。
配置数据上传请求,是获取Monkey测试配置数据的请求。
对于S12,在获取到所述配置数据上传请求时,可以获取用户输入的Monkey测试配置数据,也可以获取第三方应用系统发送的Monkey测试配置数据,还可以从数据库中获取Monkey测试配置数据。
对于S13,根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,在FTP服务器中进行查找,将在FTP服务器中查找到的所述目标应用标识对应的目标版本号对应的应用程序包下载到本地电脑,将本地电脑中的应用程序包作为待安装的应用程序包;通过所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,安装结束时生成所述测试请求,将所述待安装的应用程序包安装到目标移动设备的应用作为所述目标应用。
在一个实施例中,上述根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求的步骤,包括:
S131:根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包;
S132:根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到所述目标移动设备中;
S133:根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,对所述目标移动设备进行应用安装检测,得到应用安装检测结果;
S134:当所述应用安装检测结果为未正确安装时,重复执行所述根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包的步骤,直至所述应用安装检测结果为已正确安装;
S135:当所述应用安装检测结果为已正确安装时,生成所述测试请求,将所述目标移动设备中的所述目标应用标识对应的所述目标版本号对应的应用作为所述目标应用。
本实施例根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号自动安装应用并进行应用安装检测,提高了自动化程度,提高了测试效率;通过对所述目标移动设备进行应用安装检测,有利于确保应用安装的正确性。
对于S131,根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,在FTP服务器中进行查找,将在FTP服务器中查找到的所述目标应用标识对应的所述目标版本号对应的应用程序包下载到本地电脑,将本地电脑中的应用程序包作为待安装的应用程序包。
对于S132,通过所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中。
对于S133,根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,对所述目标移动设备进行应用安装检测,以用于检测所述目标移动设备是否安装所述目标应用标识对应的应用,以及安装的所述目标应用标识对应的应用的版本号是否与所述目标版本号相同。当所述目标移动设备安装安装的所述目标应用标识对应的应用,并且,安装的所述目标应用标识对应的应用的版本号与所述目标版本号相同时,确定所述应用安装检测结果为已正确安装,否则,确定所述应用安装检测结果为未正确安装。
对于S134,当所述应用安装检测结果为未正确安装时,意味着还没准备好测试需要的目标应用,此时重复执行步骤S131以用于重新下载和安装应用程序包,直至所述应用安装检测结果为已正确安装。
对于S135,当所述应用安装检测结果为已正确安装时,意味着已经准备好测试需要的目标应用,此时可以生成所述测试请求,将所述目标移动设备中的所述目标应用标识对应的所述目标版本号对应的应用作为所述目标应用。所述目标应用也就是所述测试请求需要测试的应用。
在一个实施例中,上述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,包括:
S31:获取所述待测试的页面标识对应的页面的控件数据,得到待测试的控件数据集合;
S32:获取预设的执行指令格式;
S33:基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合;
S34:获取运行逻辑库;
S35:根据所述待测试的页面标识和所述Monkey测试配置数据,从所述运行逻辑库中进行查找,得到目标运行逻辑数据;
S36:根据所述Monkey测试执行指令集合和所述目标运行逻辑数据进行测试脚本生成,得到所述Monkey测试脚本。
本实施例通过先获取页面的控件数据,根据页面的控件数据进行Monkey测试执行指令生成,然后根据运行逻辑库确定目标运行逻辑数据,最后根据生成的Monkey测试执行指令和目标运行逻辑数据进行脚本生成,从而实现了自动化动态生成脚本,在提高测试效率的情况下提高了测试的准确性。
对于S31,从所述目标应用中获取所述待测试的页面标识对应的页面的控件数据,将获取的所有控件数据作为待测试的控件数据集合。
待测试的控件数据集合中包括一个或多个控件数据。
对于S32,可以从数据库中获取预设的执行指令格式,也可以从第三方应用系统中获取预设的执行指令格式,还可以是用户输入的获取预设的执行指令格式,还可以是从所述Monkey测试配置数据中获取预设的执行指令格式。
对于S33,基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,将生成的所有Monkey测试执行指令作为所述待测试的控件数据集合。
可以理解的是,根据所述Monkey测试配置数据中的Monkey测试参数数据,可以设置控件测试顺序、操作动作数量、操作动作间隔时间,根据控件测试顺序、操作动作数量、操作动作间隔时间可以确定各个Monkey测试执行指令,将所有Monkey测试执行指令作为Monkey测试执行指令集合。
对于S34,可以从数据库中获取运行逻辑库,也可以从第三方应用系统中获取运行逻辑库,还可以是用户输入的获取运行逻辑库,还可以是从所述Monkey测试配置数据中获取运行逻辑库。
对于S35,根据所述待测试的页面标识和所述Monkey测试配置数据中的运行逻辑标识,从所述运行逻辑库中进行查找,将在所述运行逻辑库中查找到的运行逻辑作为目标运行逻辑数据。
目标运行逻辑数据是指所述Monkey测试执行指令集合中所述Monkey测试执行指令的运行的逻辑顺序。
对于S36,将所述Monkey测试执行指令集合中的所述Monkey测试执行指令按所述目标运行逻辑数据中的逻辑顺序进行测试脚本生成,将生成的测试脚本作为所述Monkey测试脚本。
在一个实施例中,上述基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合的步骤,包括:
S331:针对所述待测试的控件数据集合中每个控件,根据所述Monkey测试配置数据中的单控件操作动作数量和操作比例配置数据进行操作动作生成,得到所述待测试的控件数据集合中各个控件各自对应的待处理的操作动作;
S332:基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所有所述待处理的操作动作、所述Monkey测试配置数据中的所述Monkey测试参数数据进行Monkey测试执行指令生成,得到所述Monkey测试执行指令集合。
本实施例实现了根据所述Monkey测试配置数据中的单控件操作动作数量和操作比例配置数据进行操作动作生成,从而使随机的操作动作转换为按预设的顺序和预设的方式进行测试,从而在采用Monkey测试脚本进行测试时使整个测试可控。
对于S331,分别针对所述待测试的控件数据集合中每个控件,根据所述Monkey测试配置数据中的单控件操作动作数量和操作比例配置数据进行操作动作生成,将生成的所有操作动作作为所述待测试的控件数据集合中各个控件对应的所有待处理的操作动作。
操作动作包括但不限于:点击、长按、滑动。
操作比例配置数据,也就是各个操作动作的执行比例。
对于S332,从所述待测试的控件数据集合中提取一个控件数据作为目标控件数据;基于所述预设的执行指令格式和所述Monkey测试配置数据中的所述Monkey测试参数数据,分别对所述目标控件数据对应的每个所述待处理的操作动作进行Monkey测试执行指令生成,得到所述目标控件数据对应的各个所述待处理的操作动作各自对应的所述Monkey测试执行指令;重复执行所述从所述待测试的控件数据集合中提取一个控件数据控件作为目标控件控件数据的步骤,直至确定所述待测试的控件数据集合中各个控件控件数据各自对应的各个所述待处理的操作动作各自对应的所述Monkey测试执行指令。
在一个实施例中,上述根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志的步骤,包括:
S41:根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,生成所述目标应用对应的所述Monkey测试日志;
S42:在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,当获取到页面跳转信号时,根据所述页面跳转信号获取页面标识,作为待判断的页面标识;
S43:根据所述Monkey测试配置数据中的黑名单,对所述待判断的页面标识进行黑名单判断,得到黑名单判断结果;
S44:当所述黑名单判断结果为属于黑名单时,根据所述待测试的页面标识,从所述Monkey测试配置数据中获取跳转异常返回页面标识,得到待返回的页面标识,将所述待返回的页面标识作为所述待测试的页面标识;
S45:当所述黑名单判断结果为不属于黑名单时,将所述待判断的页面标识作为所述待测试的页面标识;
S46:重复执行所述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,直至获取到所述测试结束请求。
本实施例通过采用所述Monkey测试配置数据中的黑名单对页面跳转信号进行处理,在实现自动化进行页面跳转的情况下,过滤掉不需要进入的页面,有利于提高测试的效率。
对于S41,根据所述Monkey测试脚本对所述目标移动设备中的所述目标应用中的所述待测试的页面标识对应的页面进行测试,测试结束时生成测试结束请求,在测试的过程中生成所述目标应用对应的Monkey测试日志。
对于S42,在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,当获取到所述目标应用发送的页面跳转信号时,获取所述页面跳转信号携带的页面标识,将获取的页面标识作为待判断的页面标识。
可选的,所述根据所述页面跳转信号获取页面标识,作为待判断的页面标识的步骤,包括:根据所述页面跳转信号,通过所述Monkey测试配置数据的SDK方法获取页面标识,将获取的页面标识作为所述待判断的页面标识。
对于S43,将所述待判断的页面标识在所述Monkey测试配置数据中的黑名单中进行查找,当在所述Monkey测试配置数据中的黑名单中查找成功时确定所述黑名单判断结果为属于黑名单,否则确定所述黑名单判断结果为不属于黑名单。
对于S44,当所述黑名单判断结果为属于黑名单时,意味着所述待判断的页面标识是需要过滤掉的页面,此时将所述待测试的页面标识在所述Monkey测试配置数据中进行查找,将在所述Monkey测试配置数据中查找到的跳转异常返回页面标识作为待返回的页面标识,将所述待返回的页面标识作为所述待测试的页面标识。
对于S45,当所述黑名单判断结果为不属于黑名单时,意味着所述待判断的页面标识是不需要过滤掉的页面,此时可以将所述待判断的页面标识作为所述待测试的页面标识。
对于S46,重复执行步骤S3,直至获取到所述测试结束请求。
在一个实施例中,上述响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合的步骤,包括:
S61:响应所述测试结束请求,对所述Monkey测试日志进行错误日志关键字提取,得到待去重的错误日志关键字集合;
S62:对所述待去重的错误日志关键字集合进行去重处理,得到所述待分析的错误日志关键字集合。
本实施例通过先从所述Monkey测试日志提取错误日志关键字,然后对提取的错误日志关键字进行去重处理,从而使待分析的错误日志关键字集合中的错误日志关键字唯一性,有利于避免目标系统日志中出现冗余的日志,有利于提高定位问题的效率。
对于S61,当获取到所述测试结束请求时,意味着Monkey测试已经结束,此时可以获取预设的错误日志关键字库,将预设的错误日志关键字库中的每个错误日志关键字库在所述Monkey测试日志中进行查找,将在所述Monkey测试日志中查找到的关键字作为待处理的错误日志关键字,将所有所述待处理的错误日志关键字作为待去重的错误日志关键字集合。
预设的错误日志关键字库包括:错误日志关键字库。
对于S62,对所述待去重的错误日志关键字集合中的待处理的错误日志关键字进行去重处理,将去重后的所述待去重的错误日志关键字集合作为所述待分析的错误日志关键字集合。
参照图2,本申请提出了一种基于Monkey的测试装置,所述装置包括:
请求获取模块100,用于获取测试请求,所述测试请求携带有Monkey测试配置数据;
待测试的页面标识确定模块200,用于响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
Monkey测试脚本确定模块300,用于根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
Monkey测试日志确定模块400,用于根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
Logcat日志确定模块500,用于在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
待分析的错误日志关键字集合确定模块600,用于响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
目标系统日志确定模块700,用于分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
本实施例通过根据待测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本,根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试,得到测试结束请求和目标应用对应的Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;通过在根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存,得到目标应用对应的Logcat日志,根据Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合,分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中进行日志截取,得到目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现;整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存基于Monkey的测试方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于Monkey的测试方法。所述基于Monkey的测试方法,包括:获取测试请求,所述测试请求携带有Monkey测试配置数据;响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
本实施例通过根据待测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本,根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试,得到测试结束请求和目标应用对应的Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;通过在根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存,得到目标应用对应的Logcat日志,根据Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合,分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中进行日志截取,得到目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现;整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于Monkey的测试方法,包括步骤:获取测试请求,所述测试请求携带有Monkey测试配置数据;响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
上述执行的基于Monkey的测试方法,通过根据待测试的页面标识和Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本,根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试,得到测试结束请求和目标应用对应的Monkey测试日志,从而实现了采用Monkey测试脚本进行测试,使整个测试可控;通过在根据Monkey测试脚本对目标应用中的待测试的页面标识对应的页面进行测试的持续过程中,执行Monkey测试配置数据中的Adb Logcat命令进行目标应用对应的运行日志的重定向保存,得到目标应用对应的Logcat日志,根据Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合,分别根据待分析的错误日志关键字集合中每个错误日志关键字,从Logcat日志中进行日志截取,得到目标系统日志,从而得到了系统日志,确保了日志的完整性,使问题可以复现;整个测试通常自动化进行脚本生成、测试、Monkey测试日志生成、Logcat日志生成、系统日志筛选,提高了自动化程度,提高了测试效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于Monkey的测试方法,其特征在于,所述方法包括:
获取测试请求,所述测试请求携带有Monkey测试配置数据;
响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的Adb Logcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
2.根据权利要求1所述的基于Monkey的测试方法,其特征在于,所述获取测试请求的步骤,包括:
获取配置数据上传请求;
响应所述配置数据上传请求,获取所述Monkey测试配置数据;
根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求。
3.根据权利要求2所述的基于Monkey的测试方法,其特征在于,所述根据所述Monkey测试配置数据中的目标应用标识和所述目标应用标识对应的目标版本号,从FTP服务器中获取应用程序包,得到待安装的应用程序包,根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到目标移动设备中,得到所述目标应用和所述测试请求的步骤,包括:
根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包;
根据所述Monkey测试配置数据中的adb安装命令,将所述待安装的应用程序包安装到所述目标移动设备中;
根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,对所述目标移动设备进行应用安装检测,得到应用安装检测结果;
当所述应用安装检测结果为未正确安装时,重复执行所述根据所述Monkey测试配置数据中的所述目标应用标识和所述目标应用标识对应的所述目标版本号,从所述FTP服务器中获取应用程序包,得到所述待安装的应用程序包的步骤,直至所述应用安装检测结果为已正确安装;
当所述应用安装检测结果为已正确安装时,生成所述测试请求,将所述目标移动设备中的所述目标应用标识对应的所述目标版本号对应的应用作为所述目标应用。
4.根据权利要求1所述的基于Monkey的测试方法,其特征在于,所述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,包括:
获取所述待测试的页面标识对应的页面的控件数据,得到待测试的控件数据集合;
获取预设的执行指令格式;
基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合;
获取运行逻辑库;
根据所述待测试的页面标识和所述Monkey测试配置数据,从所述运行逻辑库中进行查找,得到目标运行逻辑数据;
根据所述Monkey测试执行指令集合和所述目标运行逻辑数据进行测试脚本生成,得到所述Monkey测试脚本。
5.根据权利要求4所述的基于Monkey的测试方法,其特征在于,所述基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所述Monkey测试配置数据中的Monkey测试参数数据进行Monkey测试执行指令生成,得到Monkey测试执行指令集合的步骤,包括:
针对所述待测试的控件数据集合中每个控件,根据所述Monkey测试配置数据中的单控件操作动作数量和操作比例配置数据进行操作动作生成,得到所述待测试的控件数据集合中各个控件各自对应的待处理的操作动作;
基于所述预设的执行指令格式,根据所述待测试的控件数据集合、所有所述待处理的操作动作、所述Monkey测试配置数据中的所述Monkey测试参数数据进行Monkey测试执行指令生成,得到所述Monkey测试执行指令集合。
6.根据权利要求1所述的基于Monkey的测试方法,其特征在于,所述根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志的步骤,包括:
根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,生成所述目标应用对应的所述Monkey测试日志;
在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,当获取到页面跳转信号时,根据所述页面跳转信号获取页面标识,作为待判断的页面标识;
根据所述Monkey测试配置数据中的黑名单,对所述待判断的页面标识进行黑名单判断,得到黑名单判断结果;
当所述黑名单判断结果为属于黑名单时,根据所述待测试的页面标识,从所述Monkey测试配置数据中获取跳转异常返回页面标识,得到待返回的页面标识,将所述待返回的页面标识作为所述待测试的页面标识;
当所述黑名单判断结果为不属于黑名单时,将所述待判断的页面标识作为所述待测试的页面标识;
重复执行所述根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本的步骤,直至获取到所述测试结束请求。
7.根据权利要求1所述的基于Monkey的测试方法,其特征在于,所述响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合的步骤,包括:
响应所述测试结束请求,对所述Monkey测试日志进行错误日志关键字提取,得到待去重的错误日志关键字集合;
对所述待去重的错误日志关键字集合进行去重处理,得到所述待分析的错误日志关键字集合。
8.一种基于Monkey的测试装置,其特征在于,所述装置包括:
请求获取模块,用于获取测试请求,所述测试请求携带有Monkey测试配置数据;
待测试的页面标识确定模块,用于响应所述测试请求,根据所述Monkey测试配置数据获取目标应用的待测试的页面标识;
Monkey测试脚本确定模块,用于根据所述待测试的页面标识和所述Monkey测试配置数据生成执行指令和运行逻辑,得到Monkey测试脚本;
Monkey测试日志确定模块,用于根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试,得到测试结束请求和所述目标应用对应的Monkey测试日志;
Logcat日志确定模块,用于在根据所述Monkey测试脚本对所述目标应用中的所述待测试的页面标识对应的页面进行测试的持续过程中,执行所述Monkey测试配置数据中的AdbLogcat命令进行所述目标应用对应的运行日志的重定向保存,得到所述目标应用对应的Logcat日志;
待分析的错误日志关键字集合确定模块,用于响应所述测试结束请求,根据所述Monkey测试日志进行错误日志关键字提取,得到待分析的错误日志关键字集合;
目标系统日志确定模块,用于分别根据所述待分析的错误日志关键字集合中每个所述错误日志关键字,从所述Logcat日志中进行日志截取,得到目标系统日志。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110383494.6A 2021-04-09 2021-04-09 基于Monkey的测试方法、装置、设备及存储介质 Active CN113051146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110383494.6A CN113051146B (zh) 2021-04-09 2021-04-09 基于Monkey的测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110383494.6A CN113051146B (zh) 2021-04-09 2021-04-09 基于Monkey的测试方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113051146A true CN113051146A (zh) 2021-06-29
CN113051146B CN113051146B (zh) 2022-09-30

Family

ID=76518960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110383494.6A Active CN113051146B (zh) 2021-04-09 2021-04-09 基于Monkey的测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113051146B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419727A (zh) * 2011-09-30 2012-04-18 宇龙计算机通信科技(深圳)有限公司 一种自动化测试方法及装置
CN103577313A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种移动终端应用程序测试方法及装置
CN104424094A (zh) * 2013-08-26 2015-03-18 腾讯科技(深圳)有限公司 一种异常信息获取方法、装置及智能终端设备
CN105760301A (zh) * 2016-02-24 2016-07-13 惠州Tcl移动通信有限公司 一种基于Monkey命令的自动化测试方法及系统
CN112100085A (zh) * 2020-11-17 2020-12-18 深圳市房多多网络科技有限公司 安卓应用程序稳定性测试方法、装置和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419727A (zh) * 2011-09-30 2012-04-18 宇龙计算机通信科技(深圳)有限公司 一种自动化测试方法及装置
CN103577313A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种移动终端应用程序测试方法及装置
CN104424094A (zh) * 2013-08-26 2015-03-18 腾讯科技(深圳)有限公司 一种异常信息获取方法、装置及智能终端设备
US20150128111A1 (en) * 2013-08-26 2015-05-07 Tencent Technology (Shenzhen) Company Limited Devices and Methods for Acquiring Abnormal Information
CN105760301A (zh) * 2016-02-24 2016-07-13 惠州Tcl移动通信有限公司 一种基于Monkey命令的自动化测试方法及系统
CN112100085A (zh) * 2020-11-17 2020-12-18 深圳市房多多网络科技有限公司 安卓应用程序稳定性测试方法、装置和设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HETH123: "Monkey测试", 《HTTPS://BLOG.CSDN.NET/WEIXIN_45073779/ARTICLE/DETAILS/104090290》 *
最后的雨_2689: "monkey测试adb命令", 《HTTPS://WWW.JIANSHU.COM/P/15C152665CE2》 *
汪梦琪等: "安卓手机自动化压力测试浅析", 《信息技术》 *

Also Published As

Publication number Publication date
CN113051146B (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN112559365A (zh) 一种测试用例筛选方法、装置、计算机设备和存储介质
CN113282513B (zh) 接口测试案例的生成方法、装置、计算机设备及存储介质
CN110704312B (zh) 压力测试的方法、装置、计算机设备和存储介质
CN109324961B (zh) 系统自动测试方法、装置、计算机设备及存储介质
CN108399125B (zh) 自动化测试方法、装置、计算机设备和存储介质
CN112540924A (zh) 接口自动化测试方法、装置、设备及存储介质
CN112559364A (zh) 一种测试用例生成方法、装置、计算机设备和存储介质
CN111813630A (zh) 收集日志信息的方法、装置和计算机设备
CN113656404A (zh) 数据校验方法、装置、计算机设备及存储介质
CN112363937A (zh) 差异覆盖率测试方法、装置、计算机设备和存储介质
CN112541739B (zh) 问答意图分类模型的测试方法、装置、设备及介质
CN113051146B (zh) 基于Monkey的测试方法、装置、设备及存储介质
CN113609023A (zh) 精准测试方法、装置、设备及存储介质
CN110309057B (zh) 基于自动化脚本的流程性项目测试方法和相关设备
CN116226871B (zh) 基于静态和动态结合的漏洞验证方法、设备和介质
CN113282515A (zh) 系统测试方法、装置、计算机设备及存储介质
CN116610551A (zh) 代码覆盖率计算方法、装置、设备和介质
CN113094258A (zh) 精准测试方法、装置、计算机设备及介质
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
Pastore et al. AVA: supporting debugging with failure interpretations
CN110781077A (zh) 一种测试用例的回归测试方法及装置
CN115098393A (zh) 用于项目测试的异常代码定位方法、装置和计算机设备
CN112650671B (zh) 一种用于医学系统的自动化测试方法、装置及设备
CN115344438A (zh) 自动化内存测试方法、装置、设备及存储介质
CN110134595B (zh) Svn资源库测试前的分析方法、装置、计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211103

Address after: 518000 1601 (unit 18), Qianhai free trade building, 3048 Xinghai Avenue, Nanshan street, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong Province

Applicant after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Applicant before: Ping An International Smart City Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant