CN114996156A - 一种小程序的测试方法、装置、电子设备和可读存储介质 - Google Patents
一种小程序的测试方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114996156A CN114996156A CN202210726883.9A CN202210726883A CN114996156A CN 114996156 A CN114996156 A CN 114996156A CN 202210726883 A CN202210726883 A CN 202210726883A CN 114996156 A CN114996156 A CN 114996156A
- Authority
- CN
- China
- Prior art keywords
- page
- test
- testing
- elements
- applet
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种小程序的测试方法、装置、电子设备和可读存储介质,该方法包括:获取小程序的至少一个测试页面;对至少一个测试页面进行图像识别,确定至少一个测试页面的可操作的页面元素;遍历至少一个测试页面,对至少一个测试页面的页面元素进行测试。本申请的方法,一方面,使用图像识别的方式获取页面元素,无论是下单方,还是接单方的小程序都可以使用,去除对应用程序的依赖,使得应用范围更加广泛。另一方面,基于图的遍历算法的方式,不会限制探索深度,可以更有效地探索到更多的页面,并且不会出现重复探索的问题,提高了测试效果。
Description
技术领域
本申请涉及软件工程技术领域,尤其是涉及到一种小程序的测试方法、小程序的测试装置、电子设备和可读存储介质。
背景技术
目前,小程序前端测试路径多且复杂,人工测试存在场景覆盖不全,且十分耗时的问题。针对上述问题,相关技术中,采用智能化Monkey测试和H5深度探索测试的方法进行小程序前端测试。
但是,智能化Monkey属于无脑点击,而且纯随机触发,有很多无效操作,并且页面重复性较高;超文本标记语言(Hyper Text Markup Language,HTML)第五代(也即H5)深度探索测试,目前仅支持两级,而且限制为H5,具有较大地限制性。
发明内容
有鉴于此,本申请提供了一种小程序的测试方法、小程序的测试装置、电子设备和可读存储介质,实现了有效地探索到更多的页面,提高了测试效果。
第一方面,本申请实施例提供了一种小程序的测试方法,包括:获取小程序的至少一个测试页面;对至少一个测试页面进行图像识别,确定至少一个测试页面的可操作的页面元素;遍历至少一个测试页面,对至少一个测试页面的页面元素进行测试。
根据本申请实施例的上述小程序的测试方法,还可以具有以下附加技术特征:
在上述技术方案中,可选地,获取小程序的至少一个测试页面,包括:扫描小程序的代码,获取小程序的至少一个页面链接;根据至少一个页面链接,获取小程序的至少一个测试页面。
在上述任一技术方案中,可选地,对至少一个测试页面的页面元素进行测试,包括:在测试页面中的页面元素包括交互元素的情况下,对交互元素设置替代元素,替代元素的参数为交互元素对应的参数;对替代元素进行测试。
在上述任一技术方案中,可选地,对至少一个测试页面的页面元素进行测试,包括:确定第一页面的第一元素集合,其中,第一元素集合包括第一页面的所有可操作的页面元素,第一页面为至少一个测试页面中的一个;将第一元素集合加入到已测试集合列表中;依次判断第一元素集合中的页面元素对应的操作事件是否为返回事件或关闭事件;在第一元素集合中的第j个页面元素对应的操作事件为返回事件或关闭事件的情况下,停止对第j个页面元素的测试,进行对第j+1个页面元素的测试其中,j大于等于1且小于等于N,N为第一元素集合中的页面元素的数量;在第一元素集合中的第j个页面元素对应的操作事件不为返回事件或关闭事件的情况下,显示第j个页面元素对应的第二页面,并获取第二页面的第二元素集合,其中,第二元素集合包括第二页面的所有可操作的页面元素,第二页面为至少一个测试页面中的一个;在已测试集合列表包含第二元素集合,且第二页面与第一页面不同的情况下,返回至第一页面。
在上述任一技术方案中,可选地,该方法还包括:在已测试集合列表
包含第二元素集合,且第二页面与第一页面相同的情况下,停止对第j个
页面元素的测试,进行对第j+1个页面元素的测试。
在上述任一技术方案中,可选地,该方法还包括:在已测试集合列表不包含第二元素集合,且第二页面与第一页面不同的情况下,对第二元素集合中的页面元素进行测试。
在上述任一技术方案中,可选地,在对至少一个测试页面的页面元素进行测试之后,该方法还包括:对已测试的测试页面进行截图,生成页面图片;将页面图片按照截图时间进行排序。
在上述任一技术方案中,可选地,在对至少一个测试页面的页面元素进行测试之后,该方法还包括:显示未测试的测试页面。
第二方面,本申请实施例提供了一种小程序的测试装置,包括:获取模块,用于获取小程序的至少一个测试页面;图像识别模块,用于对至少一个测试页面进行图像识别,确定至少一个测试页面的可操作的页面元素;测试模块,用于遍历至少一个测试页面,对至少一个测试页面的页面元素进行测试。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面的方法的步骤。
第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的方法。
第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面的方法。
在本申请实施例中,获取待测试的小程序的一个或多个测试页面,使用图像识别算法,对各个测试页面进行识别,得到测试页面中的所有可操作的页面元素。其中,页面元素包括图像控件、文字控件等,用户可通过对页面元素进行单击、双击、输入等操作,触发跳转、关闭、返回、搜索等相应的事件。再使用深度遍历算法对小程序的至少一个测试页面进行遍历,从而对至少一个测试页面的页面元素进行测试。
本申请实施例,使用图像识别算法获取页面元素,通过图的遍历算法(也即深度遍历算法)有逻辑地探索遍历小程序的各个测试页面,从而实现对小程序的测试。一方面,使用图像识别的方式获取页面元素,无论是下单方,还是接单方的小程序都可以使用,去除对应用程序的依赖,使得应用范围更加广泛。另一方面,基于图的遍历算法的方式,不会限制探索深度,可以更有效地探索到更多的页面,并且不会出现重复探索的问题,提高了测试效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例的小程序的测试方法的流程示意图;
图2示出了本申请实施例的页面测试的逻辑示意图;
图3示出了本申请实施例的小程序的测试装置的结构框图;
图4示出了本申请实施例的电子设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的小程序的测试方法、小程序的测试装置、电子设备和可读存储介质进行详细地说明。
本申请实施例提供了一种小程序的测试方法,如图1所示,该方法包括:
步骤101,获取小程序的至少一个测试页面。
在该步骤中,获取待测试的小程序的一个或多个测试页面,从而通过对测试页面进行测试,实现对小程序的测试。
步骤102,对至少一个测试页面进行图像识别,确定至少一个测试页面的可操作的页面元素。
在该步骤中,使用图像识别算法,对各个测试页面进行识别,得到测试页面中的所有可操作的页面元素,每个测试页面中的可操作的页面元素的数量在此不做限定,可以为一个或多个,每个测试页面中的可操作的页面元素可形成对应测试页面的元素集合。
其中,页面元素包括图像控件、文字控件等,用户可通过对页面元素进行单击、双击、输入等操作,触发跳转、关闭、返回、搜索等相应的事件。
步骤103,遍历至少一个测试页面,对至少一个测试页面的页面元素进行测试。
在该步骤中,使用深度遍历算法对小程序的至少一个测试页面进行遍历,从而对至少一个测试页面的页面元素进行测试。
本申请实施例,使用图像识别算法获取页面元素,通过图的遍历算法(也即深度遍历算法)有逻辑地探索遍历小程序的各个测试页面,从而实现对小程序的测试。一方面,使用图像识别的方式获取页面元素,无论是下单方,还是接单方的小程序都可以使用,去除对应用程序的依赖,使得应用范围更加广泛。另一方面,基于图的遍历算法的方式,不会限制探索深度,可以更有效地探索到更多的页面,并且不会出现重复探索的问题,提高了测试效果。
另外,需要说明的是,获取小程序的测试页面之后,还可以进一步获取测试页面上出现的文字。该文字可以进行最后的测试验证,也即,在对测试页面测试完成后,利用文字对应验证是否有丢掉未被测试的页面。
在本申请实施例中,进一步地,获取小程序的至少一个测试页面,包括:扫描小程序的代码,获取小程序的至少一个页面链接;根据至少一个页面链接,获取小程序的至少一个测试页面。
在该实施例中,扫描小程序的代码,获取小程序的所有页面链接,从而确定小程序的测试页面。
本申请实施例中,通过扫描小程序代码从而获取测试页面的方式,保证页面探索的全面性。
在本申请实施例中,进一步地,对至少一个测试页面的页面元素进行测试,包括:在测试页面中的页面元素包括交互元素的情况下,对交互元素设置替代元素,替代元素的参数为交互元素对应的参数;对替代元素进行测试。
在该实施例中,页面元素包括不同的类型,可以包括与外部对象交互的交互元素,例如对于下单方的小程序,接单方即为外部对象,对于与外部对象交互的交互元素这样的复杂调用接口,本申请实施例中采用mock的方式,也即,将复杂调用接口进行写死,将其参数直接定义为交互元素对应的参数,从而保证测试顺利进行。
本申请实施例中,通过对复杂调用接口进行mock,可以实现纯前端的UI自动化,保证结果的稳定性、多样性,并且减少了造数成本。
此外,除了交互元素,页面元素还可以包括仅有显示功能的显示元素,显示元素在用户触发时不会存在跳转、关闭等响应;或者,包括可以由用户操作的用户操作元素,对于用户操作元素,测试人员可以选择不同的操作方式,例如,页面元素为需要输入的组件(例如文本框),测试人员则输入对应的内容,页面元素为需要点击的控件,测试人员则直接点击,保证程序可以自动运行。
在本申请实施例中,采用深度优先搜索(Depth First Search,DFS)的方式,对至少一个测试页面的页面元素进行测试。该测试方法,具体包括:
(1)在对小程序的至少一个测试页面中的任一测试页面,也即第一页面,进行测试时,确定其第一元素集合,其中,第一元素集合包括第一页面的所有可操作的页面元素。
在该步骤中,第一页面作为当前页面,进行测试。
(2)将第一元素集合加入到已测试集合列表VP中。
在该步骤中,利用已测试集合列表记录进行了测试的测试页面所包括的页面元素的元素集合。例如,在当前页面—页面A被测试后,将其页面元素a、b、c作为一个元素集合加入到已测试集合列表VP中。
(3)循环第一元素集合中的每一个页面元素,判断页面元素对应的操作事件是否为返回事件或关闭事件。
例如,分别判断页面A中的页面元素a所对应的操作事件、页面元素b所对应的操作事件、页面元素c所对应的操作事件是否为返回事件或关闭事件。
需要说明的是,页面元素对应的操作事件是返回事件是指用户操作该页面元素后,返回当前页面的上一页面;页面元素对应的操作事件是关闭事件是指用户操作该页面元素后,关闭当前页面。
(4)在第一元素集合中的第j个页面元素对应的操作事件为返回事件或关闭事件的情况下,停止对第j个页面元素的测试,进行对第j+1个页面元素的测试,其中,j大于等于1且小于等于N,N为第一元素集合中的页面元素的数量。
在该步骤中,当页面元素对应的操作事件为返回事件或关闭事件时,则跳过该页面元素,而对下一个页面元素进行测试。例如,当页面A的页面元素a对应关闭事件时,则跳过页面元素a,继续对页面元素b进行测试。
(5)在第一元素集合中的第j个页面元素对应的操作事件不为返回事件或关闭事件的情况下,显示第j个页面元素对应的第二页面,并获取第二页面的第二元素集合,其中,第二元素集合包括第二页面的所有可操作的页面元素,第二页面为至少一个测试页面中的一个。
在该步骤中,当页面元素对应的操作事件为返回事件或关闭事件时,响应测试人员对该页面元素的操作,显示该页面元素对应的第二页面,并获取第二页面的第二元素集合。
示例性地,如图2所示,当测试人员点击页面A的页面元素b时,对应跳转至页面D,并获取页面D的第二元素集合,页面D的第二元素集合中包括页面元素d。
(6)判断已测试集合列表VP中是否包含第二元素集合,以及第二页面与第一页面是否相同。
在该步骤中,判断已测试集合列表VP中是否包含第二元素集合,也即判断第二页面是否为已测试过的测试页面。
另外,由于测试人员对步骤(5)中的页面元素进行操作后,有两种可能的情况,一种是跳转至与第一页面不同的第二页面,也就是说该页面元素为测试人员操作元素,另一种是仍然显示第一页面,也就是说该页面元素为显示元素。所以,在此需判断第二页面与第一页面是否相同。
(7)在已测试集合列表VP包含第二元素集合,且第二页面与第一页面不同的情况下,返回至第一页面。
此情况表明第二页面为与第一页面不同的跳转页面,并且第二页面已经被测试过,则不再重复对第二页面进行测试,返回至第一页面。
示例性地,如图2所示,如果页面F已经在首页→页面A→页面E→页面F这个测试线中测试完,那么,在首页→页面B这个测试线中就不再测试页面F。
(8)在已测试集合列表VP包含第二元素集合,且第二页面与第一页面相同的情况下,停止对第j个页面元素的测试,进行对第j+1个页面元素的测试。
此情况表明步骤(5)中的页面元素对应的操作事件是显示,并且第二页面的页面元素(也即是第一元素集合中的页面元素)已经被加入至已测试集合列表VP中,则继续对下一个页面元素进行测试。
(9)在已测试集合列表VP不包含第二元素集合,且第二页面与第一页面不同的情况下,对第二元素集合中的页面元素进行测试。
此情况表明第二页面为与第一页面不同的跳转页面,并且第二页面没有被测试过,则按照与步骤(2)至步骤(8)类似的方法,对第二页面的页面元素进行测试。
示例性地,如图2所示,当测试人员点击页面A的页面元素b时,对应跳转至页面D,页面D与页面A不同且没有被测试过,则对第二页面的页面元素d进行测试。
本申请实施例,如图2所示,从首页开始尽可能的向下探索,直到不能继续探索之后,回退到上一级,重复这个步骤,直到完成所有的探索可能。例如,首页→页面A→页面D→页面G,由于页面G没有跳转页面,则从页面G回退到页面D,此时由于页面D除了页面G,再没有其他跳转页面,则所有可能探索完成,继续回退到页面A。回退到页面A后,由于页面A还有跳转页面E,则页面A→页面E→页面F→回退到页面E→回退到页面A→回退到首页。再从首页向页面B进行探索,继续探索过程,直至所有页面都被探索完成。
需要说明的是,回退页面的情况下,需要判断当前探索页面所要回退的页面是否为其出口页面,避免回退出现错误,从而保证探索的顺利进行。例如,在从页面E需要回退到页面A的情况下,用L1表示页面A的元素集合,用L2表示页面E的元素集合。获取当前探索页面的元素集合L3,如果L3等于L2,回退到上一个页面,也即判断当前探索页面是否为页面E,如果是,则返回到页面A。如果L3等于L1,表明目前已经为页面A了,则直接跳过不做处理。如果以上两种情况都不是,表明此时处于其他非理想探索的页面,为了保证能返回至页面A,则从扫描的页面链接中获取页面A的链接,直接打开,保证下一个循环页面依旧是在页面A上操作。
通过上述方式,实现基于图的遍历算法的方式进行小程序的测试,可以更有效地探索到更多的页面,尽可能地覆盖测试页面,提高测试效果。
在本申请实施例中,进一步地,在对至少一个测试页面的页面元素进行测试之后,该方法还包括:对已测试的测试页面进行截图,生成页面图片;将页面图片按照截图时间进行排序。
在该实施例中,对测试过程进行截图,生成页面图片,并按照截图事件的发生时间(也即截图时间)对页面图片进行排序,保证操作路径可复现,从而可以直观地发现测试过程是否出现问题、哪一步出现问题。
在本申请实施例中,进一步地,在对至少一个测试页面的页面元素进行测试之后,该方法还包括:显示未测试的测试页面。
在该实施例中,在遍历过程中,在某一测试页面测试完成后,将其从小程序的测试页面集合中排除,测试结束后,将测试页面集合中剩下的就是没有遍历到的测试页面,进而将进行显示,使得测试人员知晓未被测试到的页面。
具体地,在实际测试中,可将没有遍历到的测试页面打印出来,提供给测试人员。
进一步地,作为上述小程序的测试方法的具体实现,本申请实施例提供了一种小程序的测试装置。如图3所示,该小程序的测试装置300包括:获取模块301、图像识别模块302以及测试模块303。
其中,获取模块301,用于获取小程序的至少一个测试页面;图像识别模块302,用于对至少一个测试页面进行图像识别,确定至少一个测试页面的可操作的页面元素;测试模块303,用于遍历至少一个测试页面,对至少一个测试页面的页面元素进行测试。
在该实施例中,获取待测试的小程序的一个或多个测试页面,使用图像识别算法,对各个测试页面进行识别,得到测试页面中的所有可操作的页面元素。其中,页面元素包括图像控件、文字控件等,用户可通过对页面元素进行单击、双击、输入等操作,触发跳转、关闭、返回、搜索等相应的事件。再使用深度遍历算法对小程序的至少一个测试页面进行遍历,从而对至少一个测试页面的页面元素进行测试。
本申请实施例,使用图像识别算法获取页面元素,通过图的遍历算法(也即深度遍历算法)有逻辑地探索遍历小程序的各个测试页面,从而实现对小程序的测试。一方面,使用图像识别的方式获取页面元素,无论是下单方,还是接单方的小程序都可以使用,去除对应用程序的依赖,使得应用范围更加广泛。另一方面,基于图的遍历算法的方式,不会限制探索深度,可以更有效地探索到更多的页面,并且不会出现重复探索的问题,提高了测试效果。
在本申请实施例中,进一步地,该装置还包括:扫描模块,用于扫描小程序的代码,获取小程序的至少一个页面链接;获取模块301,具体用于根据至少一个页面链接,获取小程序的至少一个测试页面。
在本申请实施例中,进一步地,该装置还包括:设置模块,用于在测试页面中的页面元素包括交互元素的情况下,对交互元素设置替代元素,替代元素的参数为交互元素对应的参数;测试模块303,具体用于对替代元素进行测试。
在本申请实施例中,进一步地,测试模块303,具体用于:确定第一页面的第一元素集合,其中,第一元素集合包括第一页面的所有可操作的页面元素,第一页面为至少一个测试页面中的一个;将第一元素集合加入到已测试集合列表中;依次判断第一元素集合中的页面元素对应的操作事件是否为返回事件或关闭事件;在第一元素集合中的第j个页面元素对应的操作事件为返回事件或关闭事件的情况下,停止对第j个页面元素的测试,进行对第j+1个页面元素的测试,其中,j大于等于1且小于等于N,N为第一元素集合中的页面元素的数量;在第一元素集合中的第j个页面元素对应的操作事件不为返回事件或关闭事件的情况下,显示第j个页面元素对应的第二页面,并获取第二页面的第二元素集合,其中,第二元素集合包括第二页面的所有可操作的页面元素,第二页面为至少一个测试页面中的一个;在已测试集合列表包含第二元素集合,且第二页面与第一页面不同的情况下,返回至第一页面。
在本申请实施例中,进一步地,测试模块303,还用于:在已测试集合列表包含第二元素集合,且第二页面与第一页面相同的情况下,停止对第j个页面元素的测试,进行对第j+1个页面元素的测试。
在本申请实施例中,进一步地,测试模块303,还用于:在已测试集合列表不包含第二元素集合,且第二页面与第一页面不同的情况下,对第二元素集合中的页面元素进行测试。
在本申请实施例中,进一步地,该装置还包括:截图模块,用于对已测试的测试页面进行截图,生成页面图片;排序模块,用于将页面图片按照截图时间进行排序。
在本申请实施例中,进一步地,该装置还包括:显示模块,用于显示未测试的测试页面。
本申请实施例中的小程序的测试装置300可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、机器人、超级移动个人计算机(Ultra-MobilePersonal Computer,UMPC)、上网本或者个人数字助理(Personal Digital Assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(Personal Computer,PC)、电视机(Television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的小程序的测试装置300可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的小程序的测试装置300能够实现图1的小程序的测试方法实施例实现的各个过程,为避免重复,这里不再赘述。
本申请实施例还提供一种电子设备,如图4所示,该电子设备400包括处理器401和存储器402,存储器402上存储有可在处理器401上运行的程序或指令,该程序或指令被处理器401执行时实现上述小程序的测试方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
存储器402可用于存储软件程序以及各种数据。存储器402可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器402可以包括易失性存储器或非易失性存储器,或者,存储器402可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器402包括但不限于这些和任意其它适合类型的存储器。
处理器401可包括一个或多个处理单元;可选的,处理器401集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述小程序的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述小程序的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例还提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述小程序的测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种小程序的测试方法,其特征在于,包括:
获取小程序的至少一个测试页面;
对所述至少一个测试页面进行图像识别,确定所述至少一个测试页面的可操作的页面元素;
遍历所述至少一个测试页面,对所述至少一个测试页面的页面元素进行测试。
2.根据权利要求1所述的方法,其特征在于,所述获取小程序的至少一个测试页面,包括:
扫描所述小程序的代码,获取所述小程序的至少一个页面链接;
根据所述至少一个页面链接,获取所述小程序的至少一个测试页面。
3.根据权利要求1所述的方法,其特征在于,所述对至少一个测试页面的页面元素进行测试,包括:
在所述测试页面中的页面元素包括交互元素的情况下,对所述交互元素设置替代元素,所述替代元素的参数为所述交互元素对应的参数;
对所述替代元素进行测试。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对至少一个测试页面的页面元素进行测试,包括:
确定第一页面的第一元素集合,其中,所述第一页面为所述至少一个测试页面中的一个,所述第一元素集合包括所述第一页面的所有可操作的页面元素;
将所述第一元素集合加入到已测试集合列表中;
依次判断所述第一元素集合中的页面元素对应的操作事件是否为返回事件或关闭事件;
在所述第一元素集合中的第j个页面元素对应的操作事件为返回事件或关闭事件的情况下,停止对所述第j个页面元素的测试,进行对第j+1个页面元素的测试,其中,j大于等于1且小于等于N,N为所述第一元素集合中的页面元素的数量;
在所述第一元素集合中的所述第j个页面元素对应的操作事件不为返回事件或关闭事件的情况下,显示所述第j个页面元素对应的第二页面,并获取所述第二页面的第二元素集合,其中,所述第二页面为所述至少一个测试页面中的一个,所述第二元素集合包括所述第二页面的所有可操作的页面元素;
在所述已测试集合列表包含所述第二元素集合,且所述第二页面与所述第一页面不同的情况下,返回至所述第一页面。
5.根据权利要求4所述的方法,其特征在于,还包括:
在所述已测试集合列表包含所述第二元素集合,且所述第二页面与所述第一页面相同的情况下,停止对所述第j个页面元素的测试,进行对所述第j+1个页面元素的测试。
6.根据权利要求4所述的方法,其特征在于,还包括:
在所述已测试集合列表不包含所述第二元素集合,且所述第二页面与所述第一页面不同的情况下,对所述第二元素集合中的页面元素进行测试。
7.根据权利要求1至3中任一项所述的方法,其特征在于,在所述对至少一个测试页面的页面元素进行测试之后,还包括:
对已测试的测试页面进行截图,生成页面图片;
将所述页面图片按照截图时间进行排序。
8.一种小程序的测试装置,其特征在于,包括:
获取模块,用于获取小程序的至少一个测试页面;
图像识别模块,用于对所述至少一个测试页面进行图像识别,确定所述至少一个测试页面的可操作的页面元素;
测试模块,用于遍历所述至少一个测试页面,对所述至少一个测试页面的页面元素进行测试。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储存储有在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7中任一项所述的小程序的测试方法的步骤。
10.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1至7中任一项所述的小程序的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726883.9A CN114996156A (zh) | 2022-06-24 | 2022-06-24 | 一种小程序的测试方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210726883.9A CN114996156A (zh) | 2022-06-24 | 2022-06-24 | 一种小程序的测试方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114996156A true CN114996156A (zh) | 2022-09-02 |
Family
ID=83036880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210726883.9A Pending CN114996156A (zh) | 2022-06-24 | 2022-06-24 | 一种小程序的测试方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996156A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349178A (zh) * | 2023-10-30 | 2024-01-05 | 新华三科技服务有限公司 | 用户页面测试方法及装置 |
-
2022
- 2022-06-24 CN CN202210726883.9A patent/CN114996156A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117349178A (zh) * | 2023-10-30 | 2024-01-05 | 新华三科技服务有限公司 | 用户页面测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427331B (zh) | 基于接口测试工具自动生成性能测试脚本的方法 | |
US8015239B2 (en) | Method and system to reduce false positives within an automated software-testing environment | |
US7617486B2 (en) | Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface | |
CN104956375B (zh) | 基于规则呈现用户界面元素 | |
US20090276733A1 (en) | Method, system, and graphical user interface for presenting an interactive hierarchy and indicating entry of information therein | |
CN105095092A (zh) | 基于静态分析和动态运行的Web应用JavaScript代码原子性违反检测 | |
CN110471585A (zh) | 应用程序功能图标展示方法、装置和计算机设备 | |
CN109308254A (zh) | 一种测试方法、装置及测试设备 | |
CN106708528A (zh) | 脚本生成方法及装置 | |
CN110795175A (zh) | 模拟控制智能终端的方法、装置及智能终端 | |
CN112231213A (zh) | Web自动化测试方法、系统、存储介质及终端设备 | |
Grigera et al. | Kobold: web usability as a service | |
CN110320378A (zh) | 质控测试申请方法、装置、设备及计算机可读存储介质 | |
CN114996156A (zh) | 一种小程序的测试方法、装置、电子设备和可读存储介质 | |
CN113760282A (zh) | 表单界面的配置方法、装置、设备、介质及程序产品 | |
CN108399125A (zh) | 自动化测试方法、装置、计算机设备和存储介质 | |
CN110531977B (zh) | 仪器的自动化控制方法、装置、计算机设备和存储介质 | |
CN111694550A (zh) | 一种页面显示控制方法、装置及系统 | |
CN114461533A (zh) | Web页面自动化测试的方法、系统、电子装置和存储介质 | |
CN110232018A (zh) | 接口测试方法、装置、计算机设备 | |
CN109815126A (zh) | 软件测试方法、装置、计算机设备和存储介质 | |
CN112905451A (zh) | 应用程序的自动化测试方法及装置 | |
CN112667212A (zh) | 埋点数据可视化方法、装置、终端和存储介质 | |
CN109815127B (zh) | 自动化脚本转换方法、装置、计算机设备和存储介质 | |
CN110209572A (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 |