CN110580221A - 控件测试方法、装置、存储介质及电子设备 - Google Patents
控件测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110580221A CN110580221A CN201910775753.2A CN201910775753A CN110580221A CN 110580221 A CN110580221 A CN 110580221A CN 201910775753 A CN201910775753 A CN 201910775753A CN 110580221 A CN110580221 A CN 110580221A
- Authority
- CN
- China
- Prior art keywords
- control
- display interface
- interface
- new
- sub
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 183
- 238000000034 method Methods 0.000 claims description 49
- 230000001960 triggered effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000012466 permeate Substances 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种控件测试方法、装置、存储介质及电子设备,以提高控件测试效率。该控件测试方法包括:控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息;确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件;如果滑动后的显示界面中存在所述新控件,则对所述新控件进行测试,并将所述新控件存入所述控件列表中。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种控件测试方法、装置、存储介质及电子设备。
背景技术
随着移动互联网技术的不断发展,譬如手机、Pad等移动终端逐渐渗透进人们生活的方方面面,通过移动终端上安装的各种应用程序,人们可以进行社交、娱乐、支付等不同的操作。为了保证应用程序的安全使用,给用户以良好的使用体验,在应用程序开发的过程中,需要对应用程序中的各个控件进行测试。
相关技术中,可以手工针对应用程序每个界面上的每个控件进行点击测试,但这需要耗费大量的人力和时间。并且,由于应用程序的界面越来越复杂,人工测试时,往往很难记住哪些控件测试过,哪些未测试过,从而影响控件测试效率。
发明内容
本公开的目的是提供一种控件测试方法、装置、存储介质及电子设备,以解决相关技术中控件测试效率较低的问题。
为了实现上述目的,第一方面,本公开提供一种控件测试方法,包括:
控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息;
确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件;
如果滑动后的显示界面中存在所述新控件,则对所述新控件进行测试,并将所述新控件存入所述控件列表中。
可选地,所述方法还包括:
确定所述客户端当前显示界面是否存在未测试的控件;
所述控制客户端中应用程序的显示界面进行滑动,包括:
如果所述当前显示界面不存在未测试的控件,则控制所述应用程序的显示界面进行滑动。
可选地,所述确定滑动后的显示界面中是否存在新控件,包括:
确定滑动后的显示界面中是否存在弹出子界面;
如果滑动后的显示界面中存在弹出子界面,则确定所述弹出子界面是否为所述应用程序触发的弹出子界面;
如果所述弹出子界面不是所述应用程序触发的弹出子界面,则在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
可选地,所述方法还包括:
如果所述弹出子界面是所述应用程序触发的弹出子界面,则确定所述弹出子界面中是否存在新控件;
如果所述弹出子界面中存在新控件,则对所述弹出子界面中的新控件进行测试,并将所述弹出子界面中的新控件存入所述控件列表中;
确定所述弹出子界面中的所有控件是否均被存入所述控件列表;
如果所述弹出子界面中的所有控件均被存入所述控件列表,则在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
可选地,所述新控件为用于切换显示界面的控件,在对所述新控件进行测试之后,所述方法还包括:
确定切换后的显示界面中不存在未测试的控件;
根据测试路径信息,从切换后的显示界面返回到切换前的显示界面,以对切换前的显示界面中的其他控件进行测试,其中,所述测试路径信息是响应于检测到所述应用程序的显示界面发生切换,将切换前后的显示界面进行保存而得到。
可选地,所述新控件为可输入数据的控件,所述对所述新控件进行测试,包括:
确定输入到所述新控件中数据的数据类型;
生成属于所述数据类型的目标数据;
将所述目标数据输入到所述新控件中,以对所述新控件进行测试。
可选地,所述新控件为多个,所述对所述新控件进行测试,包括:
根据预设规则,从所述多个新控件中筛选出用户可操作的目标新控件;
对筛选出的所述目标新控件进行测试。
第二方面,本公开还提供一种控件测试装置,所述装置包括:
滑动控制模块,用于控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息;
控件确定模块,用于确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件;
控件测试模块,用于当滑动后的显示界面中存在所述新控件时,对所述新控件进行测试,并将所述新控件存入所述控件列表中。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,可以控制客户端中应用程序的显示界面进行滑动,然后确定滑动后的显示界面中是否存在新控件,如果滑动后的显示界面中存在新控件,则对新控件进行测试,并将新控件存入控件列表中。也即是说,本公开中的控件测试方法可以实现自动化的控件测试过程,并通过控件列表,记录哪些控件被测试过,哪些控件没被测试过,相较于人工测试并人工记录的方法,本公开的控件测试方法可以提高控件测试效率。并且,本公开的控件测试方法还可以控制界面自动滑动,从而可以获取到显示界面中的更多控件,保证控件测试的全面性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种控件测试方法的流程图;
图2是根据本公开另一示例性实施例示出的一种控件测试方法的流程图;
图3是根据本公开另一示例性实施例示出的一种控件测试方法的流程图;
图4是根据本公开一示例性实施例示出的一种控件测试装置的框图;
图5是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
随着移动互联网技术的不断发展,譬如手机、Pad等移动终端逐渐渗透进人们生活的方方面面,通过移动终端上安装的各种应用程序,人们可以进行社交、娱乐、支付等不同的操作。为了保证应用程序的安全使用,给用户以良好的使用体验,在应用程序开发的过程中,需要对应用程序中的各个控件进行测试。
相关技术中,可以手工针对应用程序每个界面上的每个控件进行点击测试,但这需要耗费大量的人力和时间。并且,由于应用程序的界面越来越复杂,人工测试时,往往很难记住哪些控件测试过,哪些未测试过,从而影响控件测试效率。
有鉴于此,本公开实施例提供一种控件测试方法、装置、存储介质及电子设备,以实现应用程序中控件的自动化测试,提高控件测试效率。
首先说明本公开实施例中控件测试方法可能的实施场景。比如,针对某一应用程序进行控件测试,该应用程序包括显示界面1、显示界面2和显示界面3。其中,显示界面1为该应用程序的首页,显示界面2和显示界面3可以通过滑动显示界面1而进行显示。在控件测试过程中,可以先对显示界面1进行控件测试,当对显示界面1中的所有控件测试完毕后,可以控制显示界面1进行滑动,以对显示界面2或显示界面3进行控件测试。
下面对本公开实施例中的控件测试方法进行说明。
图1是根据本公开一示例性实施例示出的一种控件测试方法的流程图。参照图1,该控件测试方法可以包括以下步骤:
步骤S101,控制客户端中应用程序的显示界面进行滑动。其中,该客户端中存储有控件列表,该控件列表包括显示界面中的控件信息。
示例地,客户端可以是例如手机、Pad等可安装应用程序的不同种类的电子设备,本公开实施例对此不作限定。
相关技术中的应用程序界面众多,内容丰富,通常客户端的显示屏无法显示应用程序中某个界面的所有内容,因此客户端是动态加载应用程序的界面,并且需要人工进行滑动操作,以查看应用程序中某个界面的其他内容,从而在进行控件测试时,某一时间点获取的控件也仅是客户端当前显示界面中的控件,而无法获取到更多控件进行测试,从而影响控件测试的全面性。
在本公开实施例中,可以控制客户端中应用程序的显示界面进行滑动,从而获取到显示界面中的更多控件进行测试,以保证控件测试的全面性。
步骤S102,确定滑动后的显示界面中是否存在新控件。该新控件为不存在于控件列表的控件。
示例地,客户端中存储有控件列表,该控件列表用于存储应用程序中已测试的控件信息。比如,每测试完一个控件,则将该控件加入控件列表中。具体的,可以将该控件的类型信息、唯一标识信息等作为该控件的控件信息存入控件列表中。在可能的方式中,控件列表可以通过堆栈的形式存储控件信息,或者也可以通过其他方式存储控件信息,本公开实施例对此不作限定。
应当理解的是,针对同一应用程序,对于不同显示界面下已测试的控件可以存储到同一控件列表中。比如,在滑动前的显示界面中,每测试完一个控件,则将该控件存入控件列表A中。在滑动后的显示界面中,每测试完一个控件,同样地可以将该控件存入控件列表A中。
其中,控件列表初始为空,在对滑动前的显示界面进行控件测试后,由于每测试一个控件,则将该控件存入控件列表中,因此控件列表中存储有已测试的控件,进而根据控件列表可以确定哪些控件测试过,哪些控件未测试过,从而在滑动应用程序的显示界面之后,可以根据该控件列表,确定滑动后的显示界面中未测试的新控件。具体地,可以将滑动后显示界面中的控件与控件列表中的控件进行比对,如果未在控件列表中查找到滑动后的显示界面中的控件,那么可以确定该控件为未测试的新控件,从而可以进入步骤S103,对该新控件进行测试。
步骤S103,如果滑动后的显示界面中存在新控件,则对新控件进行测试,并将新控件存入控件列表中。
示例地,如果滑动后的显示界面中存在新控件,即滑动后的显示界面中存在未测试的控件,那么可以对该新控件进行测试。并且,可以将该新控件存入控件列表中,实现对控件列表的实时更新,便于后续的控件测试过程。
具体地,可以每确定一个新控件,则将该新控件存入控件列表中,直到滑动后的显示界面中不存在新控件。然后可以按照该控件列表中存储的新控件的顺序,依次对新控件进行测试。此种情况下,控件列表中存储的控件可能是已被测试的控件,也可能是未测试的控件,因此,为了便于区分,可以对控件列表中的每个控件添加用于表征是否测试的标识信息。比如,可以对未测试的控件添加用于表征未测试的第一标识信息,并对已测试的控件添加用于表征已测试的第二标识信息,从而可以根据第一标识或第二标识信息确定某个控件是否被测试。
当然,在其他可能的方式中,也可以每确定一个新控件,则对该新控件进行测试,并在测试完成之后将该新控件存入控件列表中。然后继续确定下一个新控件,直到滑动后的显示界面中不存在新控件。此种情况下,控件列表中存储的每个控件均是已被测试的控件。
应当理解的是,如果滑动后的显示界面中不存在新控件,即滑动后显示界面中的所有控件均被测试过,那么可以结束对该滑动后显示界面的控件测试过程,从而可以对应用程序其他显示界面进行控件测试过程。
通过上述控件测试方法,可以实现自动化的控件测试过程,并通过控件列表,记录哪些控件被测试过,哪些控件没被测试过,相较于人工测试并人工记录的方法,可以提升控件测试效率。并且,本公开实施例中的控件测试方法还可以控制界面自动滑动,从而可以获取到显示界面中的更多控件,保证控件测试的全面性。
为了使本领域技术人员更加理解本公开实施例中的控件测试方法,下面对上述各步骤进行详细举例说明。
步骤S101中,客户端中应用程序的显示界面可以是该应用程序的某个显示界面,比如某个应用程序的首页界面,那么可以控制该应用程序的首页界面进行滑动,以得到更多控件进行测试。应当理解的是,应用程序的显示界面不限于客户端显示屏当前显示的界面内容。如果应用程序的显示界面内容较多,需要滑动操作才能全部查看,则客户端的当前显示界面仅为应用程序显示界面的一部分。
示例地,控制客户端中应用程序的显示界面进行滑动可以是控制客户端中应用程序的显示界面进行上滑、下滑、左滑和右滑操作中的一者。具体地,可以是控制应用程序的显示界面上滑,然后对上滑后显示界面中的控件进行测试,即执行步骤S102和步骤S103。另外,应当理解的是,控制显示界面滑动的过程可以是电子设备通过生成滑动操作对应的控制指令而模拟进行的,等等,本公开实施例对此不作限定。
在可能的方式中,在上述举例中,在对上滑后显示界面中的所有控件进行测试之后,还可以返回到上滑之前的显示界面,再控制该显示界面进行其他的滑动,比如控制该显示界面左滑。同样地,在对左滑后显示界面中的所有控件进行测试之后,可以返回到左滑之前的显示界面,再控制该显示界面进行除上滑和左滑外的其他滑动操作,比如再控制显示界面右滑,然后对右滑后显示界面中的所有控件进行测试,等等,本公开实施例对于显示界面的滑动过程不作限定。在本公开具体实施时,测试人员可以根据实际测试需求控制客户端中应用程序的显示界面进行相应的滑动。
在一种可能的方式中,还可以先确定客户端当前显示界面是否存在未测试的控件,相应地,步骤S101可以是:如果当前显示界面不存在未测试的控件,则控制应用程序的显示界面进行滑动。
示例地,可以先检测客户端当前显示界面中的控件,并对检测到的控件进行测试,同时将测试完毕的控件存入控件列表中。相应地,确定客户端当前显示界面是否存在未测试的控件可以是确定当前显示界面中的所有控件是否均被存入控件列表。如果当前显示界面中的所有控件均被存入控件列表,则说明当前显示界面不存在未测试的控件,从而可以控制应用程序的显示界面进行滑动。
通过这样的方式,在客户端的显示屏无法显示应用程序中某个界面所有内容的情况下,可以先对客户端当前显示界面(即客户端显示屏当前显示界面)中的所有控件进行测试。然后在客户端当前显示界面中不存在未测试的控件后,控制应用程序的显示界面进行滑动,以获得更多控件进行测试,从而可以实现对应用程序显示界面的遍历测试,保证测试的全面性。
在其他可能的方式中,也可以先控制应用程序的显示界面进行滑动,对滑动后显示界面中的所有控件测试完毕后,再返回到滑动前的显示界面,对滑动前显示界面的所有控件进行测试,等等,本公开实施例对于滑动测试的顺序不作限定。应当理解的是,如果先滑动测试再对客户端当前显示界面中的控件进行测试,那么可以预先记录滑动前后的显示界面信息,以便滑动测试结束后,根据该显示界面信息控制应用程序返回滑动前的显示界面进行控件测试。
在控制客户端中应用程序的显示界面进行滑动后,可以在步骤S102中确定滑动后的显示界面中是否存在新控件。
在控件测试过程中,客户端可能弹出系统通知子界面,比如通知客户端当前电量较低的弹出子界面,或者客户端也可能弹出其他应用程序的通知子界面,等等。对于控件测试而言,此种弹出子界面可能会影响正常的控件测试流程,从而无法保证控件测试过程正常、有序地进行。
为了解决上述弹出子界面导致的控件测试问题,在一种可能的方式中,步骤S102可以是先确定滑动后的显示界面中是否存在弹出子界面。如果滑动后的显示界面中存在弹出子界面,则确定弹出子界面是否为该应用程序触发的弹出子界面。如果该弹出子界面不是该应用程序触发的弹出子界面,则在关闭弹出子界面后,确定滑动后的显示界面中是否存在新控件。
也即是说,对于滑动后显示界面中存在弹出子界面的情况,本公开实施例可以先判断该弹出子界面是否为待测试应用程序触发的弹出子界面。具体地,每个弹出子界面可以携带来源标识信息,从而可以通过该来源标识信息确定该弹出子界面是由哪个应用程序触发的。当然,也可以通过其他方式确定弹出子界面是否为待测试应用程序触发的弹出子界面,本公开实施例对此不作限定。
如果该弹出子界面不是待测试应用程序触发的弹出子界面,那么可以控制该弹出子界面关闭,然后再确定滑动后的显示界面中是否存在新控件,即,在弹出子界面不是待测试应用程序触发的弹出子界面的情况下,可以先关闭该弹出子界面,然后再对滑动后的显示界面中的控件进行测试。
在其他可能的方式中,弹出子界面可能是在对应用程序中某个控件进行测试过程中而触发的,对于此种情况,可以先对弹出子界面中的控件进行测试。在对弹出子界面中的所有控件测试完毕之后,关闭该弹出子界面,然后再对滑动后的显示界面中的控件进行测试。
也即是说,在一种可能的方式中,如果弹出子界面是该应用程序触发的弹出子界面,则可以确定该弹出子界面中是否存在新控件。如果弹出子界面中存在新控件,则可以对弹出子界面中的新控件进行测试,并将弹出子界面中的新控件存入控件列表中。然后,可以确定弹出子界面中的所有控件是否均被存入控件列表。如果弹出子界面中的所有控件均被存入控件列表,则在关闭该弹出子界面之后,确定滑动后的显示界面中是否存在新控件。
通过上述方式,可以自动判断客户端中的弹出子界面,并在该弹出子界面不是待测试应用程序触发的弹出子界面的情况下,直接关闭该弹出子界面,以避免异常弹出子界面对测试过程的影响,保证测试过程的安全性。另外,可以在该弹出子界面是待测试应用程序触发的弹出子界面的情况下,将该弹出子界面作为测试对象,在对该弹出子界面进行测试之后,再对滑动后的显示界面进行测试,保证控件测试的全面性。
在确定滑动后的显示界面中存在新控件之后,可以对该新控件进行测试。在一种可能的方式中,新控件可以是用于切换显示界面的控件,相应地,在对该新控件进行测试之后,还可以先确定切换后的显示界面中不存在未测试的控件,然后根据测试路径信息,从切换后的显示界面返回到切换前的显示界面,以对切换前的显示界面中的其他控件进行测试。其中,测试路径信息可以是响应于检测到应用程序的显示界面发生切换,将切换前后的显示界面进行保存而得到。
示例地,用于切换显示界面的控件可以是对该控件进行点击、长按等操作之后,应用程序的显示界面发生切换的控件,比如,通常应用程序首页中显示内容为“我”的控件,当用户点击该控件之后,应用程序的显示界面即切换为用户的个人信息界面,此种情况下,该显示内容为“我”的控件即为用于切换显示界面的控件。
在对用于切换显示界面的控件进行测试之后,应用程序的显示界面即切换到该控件触发的显示界面中,但考虑到切换前的显示界面中可能还存在未测试的控件,因此可能需要返回切换前的显示界面继续进行控件测试。
在相关技术中,由于应用程序的页面众多,内容复杂,通常是先获取应用程序的所有显示界面,然后通过输入命令行的方式进入任一界面,但是由于应用程序的安全性限制,此种方式已经无法满足操作控件跳转到下一界面后,再回到上一界面的测试需求。
为了解决上述问题,本公开实施例可以响应于检测到应用程序的显示界面发生切换,将切换前后的显示界面进行保存,以得到测试路径信息。比如,可以将应用程序切换前后的界面进行截图保存,得到测试路径信息。或者,可以将该应用程序切换前后的界面分别对应的唯一界面标识进行保存,得到测试路径信息,等等,本公开实施例对此不作限定。
通过上述方式,在对控件进行测试完毕之后,如果切换后的显示界面中不存在未测试的控件,则可以根据测试路径信息,从切换后的显示界面返回到切换前的显示界面,以对切换前的显示界面中的其他控件进行测试。
比如,应用程序的当前显示界面为首页,用于切换显示界面的控件为首页中显示内容为“我”的控件,即点击该控件之后,应用程序可以切换到用户个人信息界面。此种情况下,在对该控件进行测试时,检测到应用程序的显示界面从首页切换到用户个人信息界面,即应用程序的显示界面发生切换,那么可以将该应用程序的首页以及用户个人信息界面进行保存,得到测试路径信息。
然后,在对该控件进行测试完成后,应用程序的当前显示界面从首页切换到用户个人信息界面。此种情况下,可以先对用户个人信息界面中的控件进行测试。在对用户个人信息界面中的所有控件测试完毕后,可以根据上述得到的测试路径信息,控制应用程序的显示界面返回到首页,继续对首页中未测试的控件进行测试。
通过上述方式,可以记录对于应用程序显示界面的测试路径信息,从而可以在显示界面发生切换之后,根据该测试路径信息控制应用程序返回到切换之前的显示界面进行控件测试,可以满足不同的测试需求,适用性较广。
在一种可能的方式中,新控件还可以是可以输入数据的控件,相应地,对该新控件进行测试可以是先确定输入到该新控件中数据的数据类型,然后生成属于该数据类型的目标数据,最后将目标数据输入到该新控件中,以对该新控件进行测试。
相关技术中,对于可输入控件而言,均是人工输入相同的数据进行测试。如果输入数据的类型不正确,则可能造成控件测试的异常终止,无法保证后续控件测试的正常进行。
为了解决上述技术问题,本公开实施例对于可输入数据的控件,可以先确定输入到该控件中数据的数据类型,然后根据该数据类型生成对应的目标数据输入到该控件中。由于输入控件的数据符合该控件中待输入数据的数据类型,因此可以避免由于输入数据类型不正确而导致的控制测试异常终止的情况,从而可以保证控件测试过程的正常进行。
比如,对于输入姓名的控件,可以先通过该控件的控件名称或者控件标识等信息,确定输入到该控件中数据的数据类型为字符类型,那么可以生成属于字符类型的目标数据,最后将该字符类型的目标数据输入到该控件中,以实现对该控件的测试过程。又比如,对于输入金额的控件,可以先通过该控件的控件名称或者控件标识等信息,确定输入到该控件中数据的数据类型为浮点数类型,那么可以生成属于浮点数类型的目标数据,最后将该浮点数类型的目标数据输入到该控件中,以实现对该控件的测试过程。
在一种可能的方式中,新控件为多个,相应地,对新控件进行测试可以是根据预设规则,从多个新控件中筛选出用户可操作的目标新控件,然后对筛选出的目标新控件进行测试。
示例地,预设规则可以是测试人员根据实际测试需求而自行设定的,比如,预设规则可以是去除应用程序显示界面中控件长度大于客户端显示屏幕二分之一的大控件。应当理解的是,此种大控件通常是用于应用程序显示界面中的显示边框,无需对此种大控件进行测试,因此,为了提高控件测试效率,设置的预设规则可以是去除此种大控件。
在其他可能的情况下,预设规则也可以是去除应用程序显示界面中的布局控件,比如应用程序显示界面中用于美化界面的图标控件,等等。此种布局控件通常是为了使显示界面更加美观,也无需对此种布局控件进行测试,因此,为了提高控件测试效率,设置的预设规则可以是去除此种布局控件。
应当理解的是,上述仅是对预设规则进行的举例性说明,并不用于限制本公开。本公开在具体实施时,还可以通过其他方式设置预设规则,比如设置预设规则是去除大控件和布局控件,等等。
在设置预设规则之后,可以根据该预设规则,从多个新控件中筛选出用户可操作的目标新控件,然后对筛选出的目标新控件进行测试,而不是显示界面中的所有控件进行测试,可以极大程度上节省控件测试时间,提高控件测试效率。
应当理解的是,在本公开实施例中,为了提高测试准确性,对于应用程序中某个显示界面的测试可以进行最大深度和最大遍历时间的配置,其中,最大深度即指遍历完该显示界面中的所有控件,最大遍历时间即指对控件遍历测试的次数。也即是说,参照图2,对于应用程序中目标显示界面的测试过程可以包括以下步骤:
步骤S201,判断对目标显示界面的测试是否达到了最大深度和最大遍历时间。如果未达到,则进入步骤S202,否则结束对目标显示界面的测试过程。其中,目标显示界面可以是应用程序的任一显示界面,比如该应用程序的首页,等等,本公开实施例对此不作限定。
步骤S202,确定是否遍历完目标显示界面的所有控件,如果是,则进入步骤S203,否则进入步骤S204。
步骤S203,确定遍历的次数是否达到预设次数,如果达到,则结束对目标显示界面的测试过程,否则进入步骤S204。
步骤S204,对目标显示界面中的控件进行遍历测试。
通过上述方式,可以对应用程序中显示界面的控件进行最大深度遍历和最大遍历时间配置,提高控件测试的准确性,满足不同的控件测试场景。
下面通过另一示例性实施例对本公开的控件测试方法进行说明。参照图3,该控件测试方法可以包括:
步骤S301,确定客户端当前显示界面中是否存在未测试的控件,如果是,则进入步骤S302,否则进入步骤S303。
步骤S302,对客户端当前显示界面中的控件进行测试。应当理解的是,在对客户端当前显示界面中的控件进行测试完成后,可以再次进入步骤S301,直到客户端当前显示界面中不存在未测试的控件。
步骤S303,控制应用程序的显示界面进行上滑。
步骤S304,确定上滑后显示界面中是否存在弹出子界面,如果存在,则进入步骤S305,否则进入步骤S306。
步骤S305,确定弹出子界面是否为该应用程序触发的弹出子界面,如果是,则进入步骤S308,否则进入步骤S307。
步骤S306,确定上滑后显示界面中是否存在新控件,如果是,则进入步骤S309,否则进入步骤S310。
步骤S307,关闭弹出子界面后进入步骤S306。
步骤S308,确定弹出子界面中是否存在新控件,如果存在,则进入步骤S311,否则进入步骤S307。
步骤S309,对新控件进行测试。应当理解的是,在对新控件测试完成后,可以再次进入步骤S306,直到上滑后显示界面中不存在新控件后进入步骤S310。
步骤S310,控制应用程序的显示界面进行左滑,并对左滑后的显示界面中的控件进行测试。并且,在对左滑后的显示界面中的所有控件测试完成后,还可以进入步骤S312,控制应用程序的显示界面进行右滑,并对右滑后的显示界面中的控件进行测试,直到将该显示界面中的所有控件测试完成。应当理解的是,对于左滑或右滑后显示界面中控件的测试过程,与上滑后显示界面中控件的测试过程类似,这里不再赘述。
步骤S311,对弹出子界面中的新控件进行测试,并将弹出子界面中的新控件存入控件列表中。应当理解的是,在对弹出子界面的新控件进行测试完成后,可以再次进入步骤S308,直到弹出子界面中不存在新控件。
上述各步骤的具体实施方式已在上文进行详细举例说明,这里不再赘述。另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
通过上述控件测试方法,可以实现自动化的控件测试过程,并通过控件列表,记录哪些控件被测试过,哪些控件没被测试过,相较于人工测试并人工记录的方法,本公开的控件测试方法可以提高控件测试效率。并且,本公开的控件测试方法还可以控制界面自动滑动,从而可以获取到显示界面中的更多控件,保证控件测试的全面性。
基于同一发明构思,参照图4,本公开实施例还提供一种控件测试装置400,该控件测试装置400可以通过硬件、软件或两者结合的方式成为电子设备的部分或全部,可以包括:
滑动控制模块401,用于控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息。
控件确定模块402,用于确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件。
控件测试模块403,用于当滑动后的显示界面中存在所述新控件时,对所述新控件进行测试,并将所述新控件存入所述控件列表中。
可选地,所述装置400还包括:
第一确定模块,用于确定所述客户端当前显示界面是否存在未测试的控件;
所述滑动控制模块401用于当所述当前显示界面不存在未测试的控件时,控制所述应用程序的显示界面进行滑动。
可选地,所述控件确定模块402用于:
确定滑动后的显示界面中是否存在弹出子界面;
如果滑动后的显示界面中存在弹出子界面,则确定所述弹出子界面是否为所述应用程序触发的弹出子界面;
如果所述弹出子界面不是所述应用程序触发的弹出子界面,则在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
可选地,所述装置400还包括:
第二确定模块,用于当所述弹出子界面是所述应用程序触发的弹出子界面时,确定所述弹出子界面中是否存在新控件;
子界面测试模块,用于当所述弹出子界面中存在新控件时,对所述弹出子界面中的新控件进行测试,并将所述弹出子界面中的新控件存入所述控件列表中;
第三确定模块,用于确定所述弹出子界面中的所有控件是否均被存入所述控件列表;
第四确定模块,用于当所述弹出子界面中的所有控件均被存入所述控件列表时,在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
可选地,所述新控件为用于切换显示界面的控件,所述装置400还包括:
第五确定模块,用于在对所述新控件进行测试之后,确定切换后的显示界面中不存在未测试的控件;
切换模块,用于根据测试路径信息,从切换后的显示界面返回到切换前的显示界面,以对切换前的显示界面中的其他控件进行测试,其中,所述测试路径信息是响应于检测到所述应用程序的显示界面发生切换,将切换前后的显示界面进行保存而得到。
可选地,所述新控件为可输入数据的控件,所述控件测试模块403用于:
确定输入到所述新控件中数据的数据类型;
生成属于所述数据类型的目标数据;
将所述目标数据输入到所述新控件中,以对所述新控件进行测试。
可选地,所述新控件为多个,所述控件测试模块403用于:
根据预设规则,从所述多个新控件中筛选出用户可操作的目标新控件;
对筛选出的所述目标新控件进行测试。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过上述任一控件测试装置,可以实现自动化的控件测试过程,并通过控件列表,记录哪些控件被测试过,哪些控件没被测试过,相较于人工测试并人工记录的方法,本公开的控件测试方法可以提高控件测试效率。并且,本公开的控件测试方法还可以控制界面自动滑动,从而可以获取到显示界面中的更多控件,保证控件测试的全面性。
基于同一发明构思,本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一控件测试方法的步骤。
在可能的方式中,该电子设备的框图可以如图5所示。参照图5,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的控件测试方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如控件列表等等。
该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的控件测试方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的控件测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的控件测试方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的控件测试方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种控件测试方法,其特征在于,所述方法包括:
控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息;
确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件;
如果滑动后的显示界面中存在所述新控件,则对所述新控件进行测试,并将所述新控件存入所述控件列表中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述客户端当前显示界面是否存在未测试的控件;
所述控制客户端中应用程序的显示界面进行滑动,包括:
如果所述当前显示界面不存在未测试的控件,则控制所述应用程序的显示界面进行滑动。
3.根据权利要求1所述的方法,其特征在于,所述确定滑动后的显示界面中是否存在新控件,包括:
确定滑动后的显示界面中是否存在弹出子界面;
如果滑动后的显示界面中存在弹出子界面,则确定所述弹出子界面是否为所述应用程序触发的弹出子界面;
如果所述弹出子界面不是所述应用程序触发的弹出子界面,则在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述弹出子界面是所述应用程序触发的弹出子界面,则确定所述弹出子界面中是否存在新控件;
如果所述弹出子界面中存在新控件,则对所述弹出子界面中的新控件进行测试,并将所述弹出子界面中的新控件存入所述控件列表中;
确定所述弹出子界面中的所有控件是否均被存入所述控件列表;
如果所述弹出子界面中的所有控件均被存入所述控件列表,则在关闭所述弹出子界面后,确定滑动后的显示界面中是否存在新控件。
5.根据权利要求1-4任一所述的方法,其特征在于,所述新控件为用于切换显示界面的控件,在对所述新控件进行测试之后,所述方法还包括:
确定切换后的显示界面中不存在未测试的控件;
根据测试路径信息,从切换后的显示界面返回到切换前的显示界面,以对切换前的显示界面中的其他控件进行测试,其中,所述测试路径信息是响应于检测到所述应用程序的显示界面发生切换,将切换前后的显示界面进行保存而得到。
6.根据权利要求1-4任一所述的方法,其特征在于,所述新控件为可输入数据的控件,所述对所述新控件进行测试,包括:
确定输入到所述新控件中数据的数据类型;
生成属于所述数据类型的目标数据;
将所述目标数据输入到所述新控件中,以对所述新控件进行测试。
7.根据权利要求1-4任一所述的方法,其特征在于,所述新控件为多个,所述对所述新控件进行测试,包括:
根据预设规则,从所述多个新控件中筛选出用户可操作的目标新控件;
对筛选出的所述目标新控件进行测试。
8.一种控件测试装置,其特征在于,所述装置包括:
滑动控制模块,用于控制客户端中应用程序的显示界面进行滑动,其中,所述客户端中存储有控件列表,所述控件列表包括所述显示界面中的控件信息;
控件确定模块,用于确定滑动后的显示界面中是否存在新控件,所述新控件为不存在于所述控件列表的控件;
控件测试模块,用于当滑动后的显示界面中存在所述新控件时,对所述新控件进行测试,并将所述新控件存入所述控件列表中。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775753.2A CN110580221A (zh) | 2019-08-21 | 2019-08-21 | 控件测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910775753.2A CN110580221A (zh) | 2019-08-21 | 2019-08-21 | 控件测试方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110580221A true CN110580221A (zh) | 2019-12-17 |
Family
ID=68811875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910775753.2A Pending CN110580221A (zh) | 2019-08-21 | 2019-08-21 | 控件测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110580221A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076242A (zh) * | 2021-02-24 | 2021-07-06 | 西安闻泰电子科技有限公司 | 用户界面测试方法、装置、存储介质和电子设备 |
CN116265972A (zh) * | 2021-12-17 | 2023-06-20 | 荣耀终端有限公司 | 一种移动设备的功耗显示方法及移动设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819713A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种检测弹窗安全性的方法和系统 |
CN103514019A (zh) * | 2013-10-09 | 2014-01-15 | 北京奇虎科技有限公司 | 处理弹窗的方法及其装置 |
CN105630686A (zh) * | 2016-03-24 | 2016-06-01 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备和移动终端 |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
CN106033393A (zh) * | 2015-03-13 | 2016-10-19 | 展讯通信(天津)有限公司 | 一种应用程序测试方法及系统以及移动终端 |
CN107357725A (zh) * | 2017-06-29 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 应用测试方法及装置 |
CN108009078A (zh) * | 2016-11-01 | 2018-05-08 | 腾讯科技(深圳)有限公司 | 一种应用界面遍历方法、系统和测试设备 |
CN108427633A (zh) * | 2017-02-15 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 显示界面的处理方法及装置 |
CN109062793A (zh) * | 2018-07-23 | 2018-12-21 | 广州云测信息技术有限公司 | 一种滚轮控件的测试方法、装置及电子设备 |
CN109840199A (zh) * | 2018-12-14 | 2019-06-04 | 深圳壹账通智能科技有限公司 | 一种自动化测试方法及终端 |
-
2019
- 2019-08-21 CN CN201910775753.2A patent/CN110580221A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819713A (zh) * | 2012-06-29 | 2012-12-12 | 北京奇虎科技有限公司 | 一种检测弹窗安全性的方法和系统 |
CN103514019A (zh) * | 2013-10-09 | 2014-01-15 | 北京奇虎科技有限公司 | 处理弹窗的方法及其装置 |
CN106033393A (zh) * | 2015-03-13 | 2016-10-19 | 展讯通信(天津)有限公司 | 一种应用程序测试方法及系统以及移动终端 |
CN105630686A (zh) * | 2016-03-24 | 2016-06-01 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备和移动终端 |
CN105868105A (zh) * | 2016-03-24 | 2016-08-17 | 厦门美图移动科技有限公司 | 一种应用遍历测试方法、设备及移动终端 |
CN108009078A (zh) * | 2016-11-01 | 2018-05-08 | 腾讯科技(深圳)有限公司 | 一种应用界面遍历方法、系统和测试设备 |
CN108427633A (zh) * | 2017-02-15 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 显示界面的处理方法及装置 |
CN107357725A (zh) * | 2017-06-29 | 2017-11-17 | 腾讯科技(深圳)有限公司 | 应用测试方法及装置 |
CN109062793A (zh) * | 2018-07-23 | 2018-12-21 | 广州云测信息技术有限公司 | 一种滚轮控件的测试方法、装置及电子设备 |
CN109840199A (zh) * | 2018-12-14 | 2019-06-04 | 深圳壹账通智能科技有限公司 | 一种自动化测试方法及终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076242A (zh) * | 2021-02-24 | 2021-07-06 | 西安闻泰电子科技有限公司 | 用户界面测试方法、装置、存储介质和电子设备 |
CN116265972A (zh) * | 2021-12-17 | 2023-06-20 | 荣耀终端有限公司 | 一种移动设备的功耗显示方法及移动设备 |
CN116265972B (zh) * | 2021-12-17 | 2024-04-09 | 荣耀终端有限公司 | 一种移动设备的功耗显示方法及移动设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046101B (zh) | 页面自动化测试方法、装置及计算机存储介质 | |
CN107329659B (zh) | 一种权限设置方法、装置、电子设备及存储介质 | |
CN109165157B (zh) | 一种测试应用程序的方法及测试平台 | |
CN112416318B (zh) | 微服务开发方法、装置、存储介质及电子设备 | |
JP2011192296A (ja) | ヘルプユーティリティアプリケーションプログラム | |
CN107066188A (zh) | 一种发送截屏图片的方法及终端 | |
CN107832052A (zh) | 展示预览页面的方法、装置和存储介质以及电子设备 | |
CN109062616A (zh) | 移动终端的系统自适应方法、移动终端及存储介质 | |
CN110580221A (zh) | 控件测试方法、装置、存储介质及电子设备 | |
KR20160118846A (ko) | 단어 학습을 제공하는 방법과 시스템 및 기록 매체 | |
CN104156305A (zh) | 一种应用程序测试方法及装置 | |
CN112214405A (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN106095448B (zh) | 一种移动设备的桌面布局方法和装置 | |
CN104951184A (zh) | 应用程序下载方法及装置 | |
Usman et al. | Test case generation from android mobile applications focusing on context events | |
CN107861848B (zh) | 手势密码测试方法、装置、可读存储介质及电子设备 | |
CN111026651B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN110851370B (zh) | 程序测试方法及装置、存储介质 | |
CN110889116B (zh) | 一种广告拦截方法、装置及电子设备 | |
CN108984238B (zh) | 应用程序的手势处理方法、装置及电子设备 | |
CN108563578B (zh) | Sdk兼容性检测方法、装置、设备及可读存储介质 | |
CN115098390A (zh) | 自动化测试方法、装置、存储介质和电子设备 | |
CN106844186B (zh) | 应用的脱机测试方法及终端设备 | |
CN110633196A (zh) | 应用程序的自动化用例执行方法和装置 | |
CN109783748A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191217 |
|
RJ01 | Rejection of invention patent application after publication |