CN114398247A - 一种应用程序启动时长统计方法与系统 - Google Patents
一种应用程序启动时长统计方法与系统 Download PDFInfo
- Publication number
- CN114398247A CN114398247A CN202210070897.XA CN202210070897A CN114398247A CN 114398247 A CN114398247 A CN 114398247A CN 202210070897 A CN202210070897 A CN 202210070897A CN 114398247 A CN114398247 A CN 114398247A
- Authority
- CN
- China
- Prior art keywords
- picture
- starting
- frame
- template
- application program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 241000208306 Apium Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 235000005983 Crescentia cujete Nutrition 0.000 description 1
- 235000009797 Lagenaria vulgaris Nutrition 0.000 description 1
- 244000174681 Michelia champaca Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000015114 espresso Nutrition 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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/3419—Recording 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 by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3452—Performance evaluation by statistical analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/24—Arrangements for testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种应用程序启动时长统计方法与系统,包括确定待测试应用程序的模板图片;录制待测试应用程序的启动过程,生成启动视频;逐帧读取所述启动视频中的每一帧图片,获得被搜索图;采用等比缩放算法对所述模板图片进行处理,获得缩放后的模板图片;将所述缩放后的模板图片在所述被搜索图上平移,每移动到一个像素点,生成与所述缩放后的模板图片尺寸相同的比对图片;将所述比对图片与所述缩放后的模板图片采用匹配算法进行匹配,当匹配度超过阈值时,确定被搜索帧;根据所述被搜索帧确定所述待测试应用程序的启动时长。采用本发明可以避免侵入应用,避免额外采购设备,减少人工干预和统计误差并且实现大规模批量自动化高精度低成本实施。
Description
技术领域
本发明涉及应用测试技术领域,尤其涉及一种应用程序启动时长统计方法与系统。
背景技术
移动端应用程序启动,包括冷启动和热启动。其中冷启动的时间因为是完整从零加载应用程序,需要初始化各类资源文件以及进行初始化动作,所以耗时较长。一般需要2-5秒,超过5秒的用户体验非常差,可能会直接导致用户再也不使用此应用程序或者卸载。
研发过程中,启动时长的测试,一般通过三种方法:1.通过官方提供的开发工具如XcodeInstruments或者AndroidDebugBridge,用特定命令进行采集。通过官方提供的开发工具,技术不通用且场景有局限。对于iOS系统,需要使用Xcode Instruments里的TimeProfiler插件,查看启动过程中各个方法的耗时。但应用程序需要使用developer证书签名,在开发模式下才能采集到。对于Andoird系统,需要通过adb shell am start命令启动指定包名和Activity。命令返回totaltime参数值,即代表系统统计到的该模块启动时间。但其只代表该模块代码的加载时长,应用程序实际启动时,还涉及UI层面的渲染并未在此统计范围内。估此技术方式统计出的启动时长与用户实际感知的还会存在一定偏差。此外,对于鸿蒙系统、定制系统等,这些方法不适用。2.通过在应用程序中嵌入探针,hook关键函数的调用过程,计算获得性能指标。通过嵌入探针,或者hook关键函数,均对代码有侵入。一方面需要开发人员配合,另一方面工作量大实施复杂。因为对应用程序版本有改动,可能引发对启动时长的影响,测试结果有可能不准确。3.通过高速摄像机进行录屏,然后对视频文件进行人工数秒分析处理,找到启动开始帧和结束帧,计算间隔时间。通过高清摄像机录屏,逐帧分析的方法,需要单独采购摄像机,人工数秒分析工作量大且容易出错,自动化程度底,实施成本高。
发明内容
为解决现有技术的不足,本发明通过应用程序自动化和图像识别技术,实现无人值守的移动端应用程序启动时长全自动统计。包括启动操作、启动视频采集与间隔时长统计分析。避免侵入应用,避免额外采购设备,减少人工干预和统计误差。可以实现大规模批量自动化高精度低成本实施。
为实现以上目的,本发明提出一种应用程序启动时长统计方法和系统,解决当前人工数秒分析工作量大且容易出错,自动化程度底,实施成本高的问题。
本发明所采用的技术方案包括:
一种应用程序启动时长统计方法,包括:
根据待测试应用程序的启动页确定待测试应用程序的模板图片;
录制待测试应用程序的启动过程,生成启动视频;
逐帧读取所述启动视频中的每一帧图片,获得被搜索图;
将所述被搜索图与模板图片进行匹配,所述匹配方法包括:
采用等比缩放算法对所述模板图片进行处理,获得缩放后的模板图片;
将所述缩放后的模板图片在所述被搜索图上平移,每移动到一个像素点,生成与所述缩放后的模板图片尺寸相同的比对图片;
将所述比对图片与所述缩放后的模板图片采用匹配算法进行匹配,当匹配度超过阈值时,确定被搜索帧;
根据所述被搜索帧确定所述待测试应用程序的启动时长。
进一步地,所述启动页包括启动开始页和启动结束页;所述模板图片包括开始模板图片和结束模板图片;所述开始模板图片是启动开始页上的局部图片,结束模板图片是启动结束页上的局部图片;所述被搜索帧包括开始帧和结束帧。
进一步地,所述录制待测试应用程序的启动过程前,还包括杀死正在运行的应用程序,执行UI自动化脚本启动待测试应用程序。
进一步地,所述所述方法还包括,将所述启动页进行预处理,所述预处理包括将所述启动页进行二值化和压缩。
进一步地,所述等比缩放算法包括,将所述模板图片按照启动页的比例进行缩放。
进一步地,所述匹配算法包括平方差匹配算法、归一化平方差匹配算法、相关匹配算法、归一化相关匹配算法、相关系数匹配算法和归一化相关系数匹配算法。
进一步地,根据所述开始帧和结束帧确定所述待测试应用程序的启动时长,包括确定所述启动视频的帧率和所述开始帧与所述结束帧之间的帧数,根据所述帧率和帧数确定所述待测试应用程序的启动时长。
本发明还涉及一种应用程序启动时长统计系统,包括:
生成模块,用于确定待测试应用程序的启动页以及录制待测试应用的启动过程,生成启动视频;
执行模块,用于杀死正在运行的应用程序,执行UI自动化脚本启动待测试应用程序;
处理模块,用于启动页的预处理、模板图片的缩放和启动视频的逐帧处理;
匹配模块,用于将被搜索图与模板图片进行匹配;
计算模块,用于计算所述被搜索图与模板图片的匹配度并根据所述被搜索帧计算所述待测试应用程序的启动时长;
存储模块,用于存储启动页、模板图片、启动视频和匹配算法。
本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储启动页、模板图片、启动视频和匹配算法;
所述处理器,用于执行存储器中存储的计算机程序,执行上述的方法。
本发明还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
本发明的有益效果为:
采用本发明所述的一种应用程序启动时长统计方法和系统,通过应用程序自动化和图像识别技术,实现无人值守的移动端应用程序启动时长全自动统计。包括启动操作、启动视频采集与间隔时长统计分析。此方案为非侵入式,无需修改App代码,无需逆向破解进行注入;无需采购额外摄像机设备,基于原有测试手机即可完成启动过程的采集;分析过程采用图像识别技术,纯自动化处理,精确度高避免人工误差,同时可以实现大规模批量自动化高精度低成本实施。
附图说明
图1为本发明一种应用程序启动时长统计方法示意图。
图2为本发明一种应用程序启动时长统计系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明第一方面涉及一种步骤流程如图1所示的一种应用程序启动时长统计方法,包括:
开始录制视频前需要根据待测应用程序的启动页确定待测试应用程序的模板图片以备后续图像识别使用。启动页包括启动开始页和启动结束页,模板图片包括开始模板图片和结束模板图片,开始模板图片是启动开始页上的局部图片,结束模板图片是启动结束页上的局部图片,因此启动开始图片可以不是启动开始页的完整页,可以是点击应用程序的图标后,展现出来的启动页上的一个固定的唯一标识,如公司LOGO等。启动结束图片,可以为应用程序启动结束后展示区域的一个固定的、唯一的标识,如底层菜单图标。从启动开始页和启动结束页抠取局部区域作为启动开始图片和启动结束图片,可以减少后续匹配数据,提高效率。
编写移动端UI自动化脚本,实现自动启动应用程序的功能。
整体及视频处理工作流程为,杀死正在运行的应用程序。以Android系统为例,采用adb shell force-stop package命令。
通过Appium自动化测试框架,以及之前编写的UI自动化脚本,自动启动待测试应用程序。
自动化测试是研发人员进行质量保障的重要一环,良好的自动化测试机制能够让开发者及早发现编码中的逻辑缺陷,将风险前置。日常研发中,这种测试大部分由人工进行,费时费力,重复劳动多。UI测试工具发展迅速,目前有Robotium、Appium、Espresso、UIAutomator、Calabash等等,其中在Android中应用最广泛的当属UIAutomator、Robotium、Appium。
Appium是移动端界面自动化中最常用的开源框架之一,它能够支持iOS平台和Android平台上app及web应用测试,支持Mac,Windows操作系统,并且支持多种语言,java、python、php、C#、js等,不受编程语言的束缚。
除了Android、Hybrid类型的App,Appium还可以在iOS设备上运行,所以最终选择了Appium。
录制待测试应用程序的启动过程,生成启动视频。录制视频由主服务器下发命令,以Android系统为例,采用adb shell screenrecord命令。
主服务器把启动视频的从手机拉取,外呼视频处理模块进行处理。以Android系统为例,通过adb pull命令从手机里拉取指定位置的视频文件。视频处理模块接收到启动视频后,将视频文件转换成视频流,逐帧读取视频中的每一帧画面,获得被搜索图,将所述被搜索图于与模板图片进行匹配,以获得被搜索帧,在进行匹配之前,需要将启动开始图片和启动结束图片进行预处理,将其进行二值化和压缩,以减小图像识别处理量,提升处理效率。
具体的,因不同手机分辨率不同,导致录制的模板和待分析视频存在差异导致检测失败,先采用等比缩放算法对所述模板图片进行处理,具体的,将所述模板图片按照启动页的比例进行缩放,获得缩放后的模板图片;将缩放后的模板图片在所述被搜索图上平移(从左往右,从上往下),每移动到一个像素点,生成与所述缩放后的模板图片尺寸相同的比对图片;将比对图片与所述缩放后的模板图片采用匹配算法进行匹配,当匹配度超过阈值时,确定被搜索帧。
模板匹配是在一幅目标图像中寻找一个特定模板图像的方法。过程是遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到目标。OpenCV开源计算机视觉库,提供了以下6种可选的模板匹配算法:
1.平方差匹配法CV_TM_SQDIFF
R(x,y)=∑[T(x',y')-I(x+x',y+y')]2
其中,T是模板图片,I是比对图片,R是匹配结果。R的值越小,匹配度越高。
2.归一化平方差匹配法CV_TM_SQDIFF_NORMED
其中,T是模板图片,I是比对图片,R是匹配结果。R的值越小,匹配度越高。
3.相关匹配法CV_TM_CCORR
R(x,y)=∑[T(x',y')·I(x+x',y+y')]
其中,T是模板图片,I是比对图片,R是匹配结果。此方法采用模板图片和比对图片间的乘法操作,所以R的值越大,表示匹配程度越高。
4.归一化相关匹配法CV_TM_CCORR_NORMED
其中,T是模板图片,I是比对图片,R是匹配结果。R的值越大,表示匹配程度越高。
5.相关系数匹配法CV_TM_CCOEFF
其中,T是模板图片,I是比对图片,w是模板图片和比对图片的宽度,h是模板图片和比对图片的高度,R是匹配结果。R的值越大,表示匹配程度越高。
6.归一化相关系数匹配法CV_TM_CCOEFF_NORMED。
其中,T是模板图片,I是比对图片,w是模板图片和比对图片的宽度,h是模板图片和比对图片的高度,R是匹配结果。R的值越大,表示匹配程度越高。
假设对被搜索图的尺寸按模板图片的原图,即待测试应用程序的启动页的尺寸进行等比例缩放。例如,被搜索图image,原图宽original_width,原图高original_height,比对图片resized。具体的,可使用基于OpenCV的图像处理工具包imutils,其中的resize方法,可以将图像按新的横纵比进行缩放。基于python和OpenCV的实现为resized=imutils.resize(image,int(original_width),int(original_height))
设定一个匹配值矩阵,模板图片矩阵为,比对图片矩阵为——即上一步转换后得到的resized图像。模板匹配的具体实施过程为,计算模板图片像素减去覆盖的比对图片矩阵像素的差的平方和,为该矩阵点的值。从左往右,从上至下把每个像素点进行运算,越接近0,证明匹配度越高。遍历完整张图像后,得到度量值矩阵。因为每一幅图均会产生一个匹配矩阵,要根据具体实施效果,确定一个阈值T,低于此阈值,才确定有目标匹配命中,一般设定为0.3-0.5。基于python和OpenCV的实现为result=cv2.matchTemplate(resized,target,cv2.TM_SQDIFF)。其中result为匹配值矩阵R,resized为比对图片矩阵I,target为模板图片矩阵T。
计算比对图片与所述缩放后的模板图片对应的匹配度,当匹配度超过一定阈值时,即认为出现确定被搜索帧并记录。具体的,开始模板图片与当前帧的匹配度超过阈值,当可以判定出现了启动页,记录当前帧,并继续逐帧读取,按照图像识别算法继续进行匹配,直到找到结束帧位置。
读取视频的帧率和开始帧与所述结束帧之间的帧数,根据所述帧率和帧数,按照公式:启动时长(s)=(结束帧-开始帧)/帧率,计算得到应用程序的启动时长。
本发明另一方面还涉及一种应用程序启动时长统计系统,其结构如图2所示,包括:
生成模块,用于确定待测试应用程序的启动页以及录制待测试应用的启动过程,生成启动视频;
执行模块,用于杀死正在运行的应用程序,执行UI自动化脚本启动待测试应用程序;
处理模块,用于启动页的预处理、模板图片的缩放和启动视频的逐帧处理;
匹配模块,用于将被搜索图与模板图片进行匹配;
计算模块,用于计算所述被搜索图与模板图片的匹配度并根据所述被搜索帧计算所述待测试应用程序的启动时长;
存储模块,用于存储启动页、模板图片、启动视频和匹配算法。
通过使用该系统,能够执行上述的运算处理方法并实现对应的技术效果。
本发明的实施例还提供能够实现上述实施例中的应用程序启动时长统计方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的应用程序启动时长统计方法的全部步骤。
本发明的实施例还提供一种用于执行上述方法的电子设备,作为该方法的实现装置,所述电子设备至少具备有处理器和存储器,特别是该存储器上存储有执行方法所需的数据和相关的计算机程序,例如存储启动页、模板图片、启动视频和匹配算法等,并通过由处理器调用存储器中的数据、程序执行实现方法的全部步骤,并获得对应的技术效果。
优选的,该电子设备可以包含有总线架构,总线可以包括任意数量的互联的总线和桥,总线将包括由一个或多个处理器和存储器的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和接收器和发送器之间提供接口。接收器和发送器可以是同一个元件,即收发机,提供用于在传输介质上与各种其他系统通信的单元。处理器负责管理总线和通常的处理,而存储器可以被用于存储处理器在执行操作时所使用的数据。
额外的,所述电子设备还可以进一步包括通信模块、输入单元、音频处理器、显示器、电源等部件。其所采用的处理器(或称为控制器、操作控件)可以包括微处理器或其他处理器装置和/或逻辑装置,该处理器接收输入并控制电子设备的各个部件的操作;存储器可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种,可储存上述有关的数据信息,此外还可存储执行有关信息的程序,并且处理器可执行该存储器存储的该程序,以实现信息存储或处理等;输入单元用于向处理器提供输入,例如可以为按键或触摸输入装置;电源用于向电子设备提供电力;显示器用于进行图像和文字等显示对象的显示,例如可为LCD显示器。通信模块即为经由天线发送和接收信号的发送机/接收机。通信模块(发送机/接收机)耦合到处理器,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)还经由音频处理器耦合到扬声器和麦克风,以经由扬声器提供音频输出,并接收来自麦克风的音频输入,从而实现通常的电信功能。音频处理器可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器还耦合到中央处理器,从而使得可以通过麦克风能够在本机上录音,且使得可以通过扬声器来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (11)
1.一种应用程序启动时长统计方法,其特征在于,包括:
根据待测试应用程序的启动页确定待测试应用程序的模板图片;
录制待测试应用程序的启动过程,生成启动视频;
逐帧读取所述启动视频中的每一帧图片,获得被搜索图;
将所述被搜索图与模板图片进行匹配,所述匹配方法包括:
采用等比缩放算法对所述模板图片进行处理,获得缩放后的模板图片;
将所述缩放后的模板图片在所述被搜索图上平移,每移动到一个像素点,生成与所述缩放后的模板图片尺寸相同的比对图片;
将所述比对图片与所述缩放后的模板图片采用匹配算法进行匹配,当匹配度超过阈值时,确定被搜索帧;
根据所述被搜索帧确定所述待测试应用程序的启动时长。
2.如权利要求1所述的方法,其特征在于,所述启动页包括启动开始页和启动结束页;所述模板图片包括开始模板图片和结束模板图片;所述开始模板图片是启动开始页上的局部图片,结束模板图片是启动结束页上的局部图片;所述被搜索帧包括开始帧和结束帧。
3.如权利要求2所述的方法,其特征在于,所述录制待测试应用程序的启动过程前,还包括杀死正在运行的应用程序,执行UI自动化脚本启动待测试应用程序。
4.如权利要求3所述的方法,其特征在于,所述所述方法还包括,将所述模板图片进行预处理,所述预处理包括将所述模板图片进行二值化和压缩。
5.如权利要求4所述的方法,其特征在于,所述等比缩放算法包括,将所述模板图片按照启动页与被搜索图的比例进行缩放。
6.如权利要求5所述的方法,其特征在于,所述匹配算法包括平方差匹配算法、归一化平方差匹配算法、相关匹配算法、归一化相关匹配算法、相关系数匹配算法和归一化相关系数匹配算法。
7.如权利要求6所述的方法,其特征在于,根据所述开始帧和结束帧确定所述待测试应用程序的启动时长,包括确定所述启动视频的帧率和所述开始帧与所述结束帧之间的帧数,根据所述帧率和帧数确定所述待测试应用程序的启动时长。
8.一种应用程序启动时长统计系统,其特征在于,包括:
生成模块,用于确定待测试应用程序的启动页以及录制待测试应用的启动过程,生成启动视频;
执行模块,用于杀死正在运行的应用程序,执行UI自动化脚本启动待测试应用程序;
处理模块,用于模板图片的预处理、模板图片的缩放和启动视频的逐帧处理;
匹配模块,用于将被搜索图与模板图片进行匹配;
计算模块,用于计算所述被搜索图与模板图片的匹配度并根据所述被搜索帧计算所述待测试应用程序的启动时长;
存储模块,用于存储启动页、模板图片、启动视频和匹配算法。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种电子设备,其特征在于,包括处理器和存储器,
所述存储器,用于存储启动页、模板图片、启动视频和匹配算法;
所述处理器,用于执行存储器中存储的计算机程序,执行权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070897.XA CN114398247A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序启动时长统计方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210070897.XA CN114398247A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序启动时长统计方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114398247A true CN114398247A (zh) | 2022-04-26 |
Family
ID=81232632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210070897.XA Pending CN114398247A (zh) | 2022-01-21 | 2022-01-21 | 一种应用程序启动时长统计方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114398247A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984395A (zh) * | 2018-06-21 | 2018-12-11 | 腾讯科技(北京)有限公司 | 一种应用程序启动耗时测试方法、装置和存储介质 |
CN113032228A (zh) * | 2020-11-26 | 2021-06-25 | 北京字节跳动网络技术有限公司 | 一种操作响应耗时的确定方法、装置、设备及存储介质 |
-
2022
- 2022-01-21 CN CN202210070897.XA patent/CN114398247A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984395A (zh) * | 2018-06-21 | 2018-12-11 | 腾讯科技(北京)有限公司 | 一种应用程序启动耗时测试方法、装置和存储介质 |
CN113032228A (zh) * | 2020-11-26 | 2021-06-25 | 北京字节跳动网络技术有限公司 | 一种操作响应耗时的确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436863B2 (en) | Method and apparatus for outputting data | |
CN109300179B (zh) | 动画制作方法、装置、终端和介质 | |
CN108920380A (zh) | 软件兼容性的测试方法、装置、服务器、设备和存储介质 | |
CN108648140B (zh) | 图像拼接方法、系统、设备及存储介质 | |
US11595591B2 (en) | Method and apparatus for triggering special image effects and hardware device | |
CN111782492A (zh) | 页面首屏加载时长测试方法、装置、计算机设备及介质 | |
CN109656800B (zh) | 图像识别应用的测试方法、装置、终端及存储介质 | |
CN112203150A (zh) | 一种耗时获取方法、装置、设备及计算机可读存储介质 | |
CN112596846A (zh) | 确定界面显示内容的方法、装置、终端设备及存储介质 | |
US11348254B2 (en) | Visual search method, computer device, and storage medium | |
CN113780163B (zh) | 一种页面加载时间的检测方法、装置、电子设备及介质 | |
CN111464760A (zh) | 动态图像的生成方法、生成装置及终端设备 | |
EP3648069A1 (en) | Method and apparatus for selling commodity, vending machine and storage medium | |
CN111815748B (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN111428806B (zh) | 图像标签确定方法、装置、电子设备及存储介质 | |
CN117727102A (zh) | 人脸识别检测方法、电子设备 | |
CN109871465B (zh) | 一种时间轴计算方法、装置、电子设备及存储介质 | |
CN114398247A (zh) | 一种应用程序启动时长统计方法与系统 | |
CN111931465B (zh) | 基于用户操作自动生成用户手册的方法及系统 | |
CN110704294B (zh) | 用于确定响应时间的方法和装置 | |
CN114116418A (zh) | 信息处理方法及装置、计算机存储介质、电子设备 | |
CN110633976B (zh) | 虚拟资源转移方法与装置 | |
CN108449625B (zh) | 视频截图方法、装置及终端 | |
CN113255421A (zh) | 一种图像检测方法、系统、设备及介质 | |
CN111124862A (zh) | 智能设备性能测试方法、装置及智能设备 |
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 |