CN109828926B - 一种判断应用界面是否加载异常的方法和装置 - Google Patents

一种判断应用界面是否加载异常的方法和装置 Download PDF

Info

Publication number
CN109828926B
CN109828926B CN201910099056.XA CN201910099056A CN109828926B CN 109828926 B CN109828926 B CN 109828926B CN 201910099056 A CN201910099056 A CN 201910099056A CN 109828926 B CN109828926 B CN 109828926B
Authority
CN
China
Prior art keywords
control
target
application interface
loaded
determining
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.)
Active
Application number
CN201910099056.XA
Other languages
English (en)
Other versions
CN109828926A (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.)
Beijing Testin Information Technology Co Ltd
Original Assignee
Beijing Testin Information 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 Beijing Testin Information Technology Co Ltd filed Critical Beijing Testin Information Technology Co Ltd
Priority to CN201910099056.XA priority Critical patent/CN109828926B/zh
Publication of CN109828926A publication Critical patent/CN109828926A/zh
Application granted granted Critical
Publication of CN109828926B publication Critical patent/CN109828926B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种判断应用界面是否加载异常、应用测试方法和装置,该判断应用界面是否加载异常的方法包括:确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;根据所述目标控件,判断所述应用界面是否加载异常。由于在实际应用中,影响应用界面正常加载的因素主要是与服务器存在数据交互的控件,因此,在对应用进行自动化测试的过程中,可以确定应用界面中与应用对应的服务器存在数据交互的控件,基于这些控件判断测试过程中应用界面是否加载异常,这样,当应用界面加载异常时,可以采取相应措施,例如,刷新应用界面,从而避免后续的脚本执行异常,测试失败。

Description

一种判断应用界面是否加载异常的方法和装置
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种判断应用界面是否加载异常、应用测试方法和装置。
背景技术
在应用的自动化测试中,通常可以基于测试脚本对应用进行测试。具体地,在应用运行的过程中,可以基于测试脚本和应用界面,对应用进行测试,例如,当应用加载至某一界面时,可以执行测试脚本对该界面中的某个控件进行点击操作,以测试该控件的性能。
通常,在执行测试脚本时,会默认应用界面是正常加载的,并在此基础上进行测试。然而,在实际测试过程中,受各种因素的影响,应用界面会不可避免地出现加载异常的情况,当应用界面加载异常时,测试脚本将无法进行后续测试,导致测试脚本执行异常,自动化测试失败。
发明内容
本申请实施例提供一种判断应用界面是否加载异常、应用测试方法和装置,用于解决在基于测试脚本对应用进行自动化测试的过程中,当应用界面加载异常时,测试脚本将无法进行后续测试,导致测试脚本执行异常,自动化测试失败的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种判断应用界面是否加载异常的方法,包括:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常。
第二方面,提出一种判断应用界面是否加载异常的装置,包括:
确定单元,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
判断单元,根据所述目标控件,判断所述应用界面是否加载异常。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常。
第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常。
第五方面,提出一种判断应用界面是否加载异常的方法,包括:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
当所述应用界面加载异常时,对所述应用界面进行刷新;
基于刷新后的应用界面,对所述应用进行测试。
第六方面,提出一种判断应用界面是否加载异常的装置,包括:
确定单元,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
判断单元,根据所述目标控件,判断所述应用界面是否加载异常;
刷新单元,当所述应用界面加载异常时,对所述应用界面进行刷新;
测试单元,基于刷新后的应用界面,对所述应用进行测试。
第七方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
当所述应用界面加载异常时,对所述应用界面进行刷新;
基于刷新后的应用界面,对所述应用进行测试。
第八方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
当所述应用界面加载异常时,对所述应用界面进行刷新;
基于刷新后的应用界面,对所述应用进行测试。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,在对应用进行自动化测试的过程中,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;根据所述目标控件,判断所述应用界面是否加载异常。由于在实际应用中,影响应用界面正常加载的因素主要是与服务器存在数据交互的控件,因此,在对应用进行自动化测试的过程中,可以确定应用界面中与应用对应的服务器存在数据交互的控件,基于这些控件判断测试过程中应用界面是否加载异常,这样,当应用界面加载异常时,可以采取相应措施,例如,刷新应用界面,从而避免后续的脚本执行异常,测试失败。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例判断应用界面是否加载异常的方法的流程示意图;
图2是本申请的一个实施例应用测试方法的流程示意图;
图3是本申请的一个实施例应用测试方法的流程示意图;
图4是本申请的一个实施例电子设备的结构示意图;
图5是本申请的一个实施例判断应用界面是否加载异常的装置的结构示意图;
图6是本申请的一个实施例电子设备的结构示意图;
图7是本申请的一个实施例应用测试装置的结构示意图。
具体实施方式
现有技术中,在对应用进行自动化测试时,可以采用测试脚本对应用运行时的应用界面(可以理解为测试界面)进行测试。
通常,测试脚本在进行测试时,不会关注应用界面是否加载正常,或,默认应用界面加载正常(因为测试脚本仅仅是执行脚本步骤回放,并不会进入应用界面)。然而,在实际测试过程中,由于各种因素的影响,应用界面会不可避免的出现加载异常的情况,例如,当应用对应的服务器(以下简称服务器) 不稳定时,会出现应用界面加载失败的情况,或者,在对应用进行批量测试时,会出现应用界面无法快速加载出来的情况。
当应用界面加载异常时,如果测试脚本仍基于应用界面进行测试,那么,将会出现测试无响应的情况,从而导致后续的脚本执行异常,对应用的自动化测试失败。
为了避免上述问题,在应用的自动化测试过程中,需要一种机制,能够判断应用界面是否加载异常,进而可以采取相应措施,从而避免后续的脚本执行异常,测试失败。
通常,应用界面加载异常表现为应用界面中的控件加载异常或很难加载出来。经研究发现,针对应用界面中的控件而言,并不是所有的控件都很难加载出来,那些很难加载出来的控件通常为与服务器存在数据交互的控件,这些控件往往需要从服务器获取数据,并将获取的数据进行展示。例如,从服务器获取图片数据,展示图片。
有鉴于此,本申请实施例提供一种判断应用界面是否加载异常的方法和装置,该方法包括:确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;根据所述目标控件,判断所述应用界面是否加载异常。
由于在实际应用中,影响应用界面正常加载的因素主要是与服务器存在数据交互的控件,因此,在对应用进行自动化测试的过程中,可以确定应用界面中与服务器存在数据交互的控件,基于这些控件判断测试过程中应用界面是否加载异常,这样,当应用界面加载异常时,可以采取相应措施,例如,刷新应用界面等,从而可以避免后续的脚本执行异常,测试失败。
此外,本申请实施例还提供一种应用测试方法和装置,该方法包括:确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;根据所述目标控件,判断所述应用界面是否加载异常;当所述应用界面加载异常时,对所述应用界面进行刷新;基于刷新后的应用界面,对所述应用进行测试。
这样,在应用的自动化测试中,在根据应用界面中与服务器存在数据交互的控件,确定应用界面加载异常后,通过对应用界面进行刷新,并基于刷新后的应用界面进行测试,可以避免后续的脚本执行异常,从而避免测试失败,保证测试的正常进行。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例判断应用界面是否加载异常方法的流程示意图。所述方法包括以下步骤。
S102:确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件。
在S102中,在对应用进行自动化测试的过程中,在基于测试脚本对某一应用界面进行测试前,可以确定该应用界面中的目标控件。
所述目标控件可以理解为应用界面中与服务器存在数据交互的控件,该服务器为被测应用对应的服务器。例如,在应用界面的加载过程中,目标控件可以从服务器中获取数据,并将获取的数据进行展示。
在本实施例中,在确定应用界面中的目标控件时,可以包括以下步骤:
首先,获取应用界面中多个控件的控件信息。
这里的多个控件可以理解为应用界面中的所有控件,包括应用界面中的大控件和子控件,其中,大控件可以理解为包含一个或多个子控件的控件,子控件可以理解为控件树中最底层的控件。
所述控件信息可以包括以下至少一种:控件是否可用(即控件的属性 enabled是否为true)、控件是否为滚动控件(即控件的属性scrollable是否为 true),控件的位置信息(即bounds信息)。
应理解,所述控件信息还可以包括控件的其他信息,例如,控件类型 (class)、控件标识(ID)、控件对应的包名(packageName)、控件的文本(text)、控件的路径语言(xpath)等,这里不再一一举例说明。
在获取应用界面中多个控件的控件信息时,一种实现方式可以是,通过UIAutomator、appium、robotium等获取应用界面中的控件树信息,该控件树信息可以视为上述记载的应用界面中所有控件的控件信息。
其次,针对应用界面中的每个控件,可以根据控件的控件信息,判断控件是否满足预设条件。
所述预设条件可以理解为与服务器存在数据交互的控件应满足的条件,所述预设条件可以包括以下至少一种:控件位于显示界面中,控件的长宽比例对称,控件的形状大小与其他控件不相似。
所述显示界面可以理解为运行被测应用的终端的显示界面。
所述控件的长宽比例对称可以理解为控件的长宽比例不是远小于1(本实施例中,控件的形状可以默认为长方形)。其中,将控件的长宽比例对称作为预设条件的原因在于,与服务器存在数据交互的控件多为从服务器获取数据并展示的控件,且展示的多为图片,在实际应用中,能够展示图片的控件,其长宽比例通常不会远小于1,换句话说,当控件的长宽比例远小于1时,该控件通常不用于展示图片。
控件的形状大小与其他控件不相似,可以说明控件不是应用中由开发者冗余设计的控件(因为当控件的形状大小与其他空间相似时,该控件通常为开发者冗余设计的控件),这些不是冗余设计的控件通常可以用于分析应用界面是否加载异常。
在判断控件是否满足预设条件时,可以基于控件的位置信息进行判断。
例如,当控件的形状为长方形,且控件的位置信息为[1081,102][2000, 2050](1081为控件的左上角x值,102为控件的左上角y值,1080为控件右下角的x值,2050为控件的右下角的y值)时,如果显示界面的分辨率为 1080*1920,那么,可以确定控件不位于显示界面中,该控件不满足预设条件。
再例如,在判断控件的长宽比例是否对称时,已知控件的位置信息[x1, y1][x2,y2],可以得到控件的长度为x2-x1,宽度为y2-y1,将控件的长度和宽度中最小值除以最大值,得到一个比值,若该比值远小于1,则可以说明控件的长宽比例不对称,该控件不满足预设条件;否则,可以说明控件的长宽比例对称,该控件满足预设条件。
在确定控件的形状大小是否与其他控件相似时,可以基于控件的长宽比例来确定,若控件的长宽比例与其他控件的长宽比例相同,则可以说明,控件的形状大小与其他控件相似,该控件不满足预设条件;否则,可以说明该控件满足预设条件。
本实施例中,当控件满足上述预设条件中的至少一种条件时,可以确定该控件为目标控件。
最后,基于上述记载的方法对应用界面中每个控件进行分析,可以确定得到目标控件。其中,目标控件的个数可以是一个,也可以是多个。
在确定得到应用界面中的目标控件后,可以执行S104。
S104:根据所述目标控件,判断所述应用界面是否加载异常。
在S104中,在根据应用界面中的目标控件,判断应用界面是否加载异常时,可以包括以下步骤:
第一步,确定目标控件的像素值。
在确定目标控件的像素值时,首先,可以获取显示界面的截图,该显示界面为运行被测应用的终端的界面,该截图中可以包含显示界面中显示的所有控件的图片;其次,根据目标控件的位置信息,从截图中获得目标控件的子截图;最后,根据目标控件的子截图,确定目标控件的像素值。
第二步:根据目标控件的像素值,确定目标控件的加载情况。
目标控件的加载情况可以是目标控件加载正常,或目标控件加载异常。
在确定目标控件的加载情况时,可以包括以下步骤:
首先,可以根据目标控件的像素值,确定目标控件中的目标区域。
该目标区域可以理解为目标控件中加载正常的区域。
在确定目标区域时,可以将目标控件的每个像素值与第一灰度值进行比较。所述第一灰度值可以是目标控件加载异常时显示的颜色对应的灰度值,具体可以根据实际情况确定,这里不做具体限定。例如,若目标控件加载异常时显示的是白色,则第一灰度值为白色对应的灰度值;若目标控件加载异常时显示的是灰色,则第一灰度值为灰色对应的灰度值。
在将目标控件的像素值与第一灰度值进行比较后,可以确定哪些像素值不小于该第一灰度值,这些不小于第一设定值的像素值对应的区域即为目标区域,也就是说,目标区域的像素值均不小于该第一灰度值。
其次,判断目标区域的面积与目标控件所占区域的面积的比值是否不小于第一比值。
所述第一比值可以是区间[0.5,1]之间的任意值,具体可以根据实际情况确定,这里不做具体限定。
若目标区域与目标控件的面积比不小于所述第一比值,则可以说明,目标控件的大部分区域已加载出来,此时,可以确定目标控件加载正常;若目标区域与目标控件的面积比小于所述第一比值,则可以说明,目标控件中的大部分区域未加载出来,此时,可以确定目标控件加载异常。
第三步:根据目标控件的加载情况,判断应用界面是否加载异常。
目标控件的个数可以是一个,也可以是多个,当目标控件的个数是一个时,若目标控件加载正常,则可以说明应用界面加载正常;若目标控件加载异常,则可以说明应用界面加载异常。
当目标控件的个数是多个时,可以根据多个目标控件的加载情况,确定加载正常的目标控件的个数,并进一步确定该个数与目标控件总个数的比值,将该比值与第二比值进行比较,判断该比值是否不小于所述第二比值。
所述第二比值可以是区间[0.5,1]之间的任意值,具体可以根据情况确定,这里不做具体限定。
若该比值不小于所述第二比值,则可以说明,多个目标控件中大部分的控件都已加载出来,此时,可以确定应用界面加载正常;若该比值小于所述第二比值,则可以说明,多个目标控件中大部分控件都未加载出来,此时,可以确定应用界面加载异常。
这样,通过上述三个步骤,可以判断应用界面是否加载异常,以便在确定应用界面加载异常时,可以采取相应措施,从而避免后续的脚本执行异常,对应用的测试失败。
在本实施例中,在确定应用界面加载异常后,为了保证后续测试过程的正常进行,还可以对应用界面进行刷新,以便可以基于刷新后的应用界面对应用进行测试。
在对应用界面进行刷新时,具体可以包括以下步骤:
首先,判断应用界面中是否包含刷新控件。
所述刷新控件可以理解为,文本中包含刷新关键词的控件,所述刷新关键词可以用于对应用界面进行刷新,具体可以是“刷新”,也可以是与“刷新”相关的其他字或词等。
在判断应用界面中是否包含刷新控件时,可以基于S102中获取到的应用界面所有控件的控件信息,查找控件信息中包含刷新关键词的控件,若可以查找到相应控件,则可以确定应用界面中包含刷新控件,若没有查找到相应控件,则可以确定应用界面中不包含刷新控件。
例如,若应用界面中控件A的文本为“下拉刷新”或“点击刷新”,则可以确定控件A为刷新控件。
其次,若应用界面中包含刷新控件,则可以根据刷新控件在显示界面中的位置,选择相应的刷新方法,其中,显示界面可以理解为运行应用的终端的显示界面。具体地:
当刷新控件位于第一设定区域时,可以判断刷新控件的文本中是否包含与“点击”相关的关键词,若不包含,则可以说明该刷新控件不用于点击刷新,此时,可以通过下拉刷新的方式对应用界面进行刷新。
所述第一设定区域可以是该显示界面的上半部分区域。
在通过下拉刷新的方式对应用界面进行刷新时,可以基于应用界面中所有控件的控件信息,从应用界面中确定滚动控件(即属性scrollable为true的控件),在确定滚动控件后,可以基于该滚动控件可以生成下拉刷新事件,进而实现对应用界面的刷新。
当刷新控件位于第二设定区域时,可以判断刷新控件的文本中是否包含与“点击”相关的关键词,若包含,则可以说明该刷新控件用于点击刷新,此时,可以通过点击刷新的方式对应用界面进行刷新。
所述第二设定区域与所述第一设定区域不同,所述第二设定区域可以是显示界面的中央区域。
若应用界面中不包含刷新控件,则,可以直接采用下拉刷新的方式对应用界面进行刷新。
在本实施例中,当应用界面中不包含刷新控件时,在采用下拉刷新的方式对应用界面进行刷新后,还可以进一步判断刷新是否有效,以便在刷新有效时,可以基于刷新后的应用界面进行测试,在刷新无效时,采取相应措施,例如,再次刷新,或人工干预等。
其中,刷新有效可以表征刷新后的应用界面相较于刷新前的应用界面具有明显变化,或刷新后的界面中包含用于对应用界面进行刷新的刷新控件,刷新无效可以表征刷新后的应用界面相较于刷新前的应用界面没有明显变化,或刷新后的应用界面中不包含刷新控件。
在判断对应用界面的刷新是否有效时,可以包括以下至少一种方法:
第一种方法:获取刷新后的应用界面中包含的所有控件的控件信息,基于控件信息判断该截图中是否包含刷新控件,若包含,则可以说明刷新有效,若不包含,则可以说明刷新无效。其中,基于控件信息判断刷新后的应用界面中是否包含刷新控件的具体实现方式,可以参见上述记载的判断应用界面中是否包含刷新控件的具体实现方式,这里不再重复描述。
第二种方法:获取刷新前的应用界面的截图和刷新后的应用界面的截图,将两个截图进行相似度比较,若两个截图的相似度小于等于设定值,则可以说明刷新后的应用界面相较于刷新前的应用界面有明显变化,此时,可以确定刷新有效;若两个截图的相似度大于所述设定值,则可以说明刷新后的应用界面相较于刷新前的应用界面没有明显变化,此时,可以确定刷新无效。
所述设定值可以根据实际情况确定,这里不做具体限定。
在通过上述记载的方法确定刷新有效后,可以基于刷新后的应用界面进行测试,从而避免后续的脚本执行异常,保证测试的正常进行。
在确定刷新无效后,为了便于进行后续测试,可以尝试使用点击刷新的方式对应用界面进行刷新。
在使用点击刷新的方式对应用界面进行刷新时,可以包括以下步骤:
首先,确定应用界面中的目标滚动控件。
所述目标滚动控件可以理解为包含一个或多个子控件的大控件,且该控件的属性scrollable为true,此外,该目标滚动控件在显示界面中的显示面积与显示界面的面积比需要不小于第三比值。其中,显示界面为运行被测应用的终端的显示界面,所述第三比值可以是区间[0.5,1]之间的任意值,具体可以根据实际情况确定,这里不做具体限定。
其次,根据目标滚动控件的像素值,确定目标滚动控件中的目标区域。
目标滚动控件的像素值可以通过以下方式确定得到:
具体地,可以基于S102中获取到的应用界面中所有控件的控件信息进行分析,确定包含至少一个子控件的滚动大控件,基于这些滚动大控件的位置信息以及应用界面的截图,获取这些滚动大控件的截图,基于滚动大控件的截图面积,确定与显示界面的面积比不小于所述第三比值的滚动大控件,该滚动大控件即为所述目标滚动控件,根据目标滚动控件的截图,可以确定得到目标滚动控件的像素值。
目标滚动控件中的目标区域可以理解为目标滚动控件中未成功加载的区域。在确定目标区域时,可以将目标滚动控件的像素值与第二灰度值进行比较,该第二灰度值可以是目标滚动控件未加载出来时显示的颜色对应的灰度值,具体可以根据实际情况确定,这里不做具体限定。
例如,若目标滚动控件未加载出来时显示的是白色,则第二灰度值为白色对应的灰度值;若目标滚动控件未加载出来时显示的是灰色,则第二灰度值为灰色对应的灰度值。
在将目标滚动控件的像素值与第二灰度值进行比较后,可以确定哪些像素值不大于该第二灰度值,这些不大于第二设定值的像素值对应的区域即为目标滚动控件的目标区域。
最后,将目标区域与目标滚动控件的面积比与第四比值进行比较,判断,面积比是否不小于所述第四比值。
所述第四比值可以是区间[0.5,1]之间的任意值,具体可以根据实际情况确定,这里不做具体限定。
若目标区域与目标滚动控件的面积比不小于所述第四比值,则可以说明目标滚动控件的大不部分区域都没有加载出来,此时,可以采用点击刷新的方式对应用界面进行刷新。其中,在采用点击刷新的方式对应用界面进行刷新时,点击的位置可以位于目标滚动控件的目标区域内。
这样,通过在目标滚动控件的目标区域进行点击刷新,一方面可以基于不同的刷新机制对应用界面进行刷新,另一方面,可以避免在应用界面的其他位置进行点击刷新时,由于点击位置错误导致进入其他应用界面,进而导致后续的脚本执行异常,测试失败的问题。
综上所述,本申请实施例在对应用进行自动化测试的过程中,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;根据所述目标控件,判断所述应用界面是否加载异常。由于在实际应用中,影响应用界面正常加载的因素主要是与服务器存在数据交互的控件,因此,在对应用进行自动化测试的过程中,可以确定应用界面中与应用对应的服务器存在数据交互的控件,基于这些控件判断测试过程中应用界面是否加载异常,这样,当应用界面加载异常时,可以采取相应措施,例如,刷新应用界面,从而避免后续的脚本执行异常,测试失败。
图2为本申请实施例提供的一种应用测试方法的流程示意图,所述测试方法包括以下步骤。
S202:确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件。
所述服务器为应用对应的服务器。
S204:根据所述目标控件,判断所述应用界面是否加载异常。
S206:当所述应用界面加载异常时,对所述应用界面进行刷新。
上述S202至S206的具体实现可以参见上述图1所示实施例中相应步骤的具体实现,这里不再重复描述。
S208:基于刷新后的应用界面,对所述应用进行测试。
在S208中,在得到刷新后的应用界面后,可以基于刷新后的应用界面,执行测试脚本,实现对应用的测试。
为了便于理解整个应用测试的过程,可以参见图3。
图3为本申请的一个实施例应用测试方法的流程示意图,包括以下步骤。
S301:获取应用界面中多个控件的控件信息。
在应用的测试过程中,在基于测试脚本对应用界面进行测试前,可以获取应用界面中包含的多个控件的控件信息。
具体地,可以通过UIAutomator、appium、robotium等获取应用界面中的控件树信息,该控件树信息即为应用界面中包含的多个控件的控件信息。
所述控件信息可以包括以下至少一种:控件是否可用、控件是否为滚动控件,控件的位置信息;此外,还可以包括控件类型、控件标识、控件对应的包名、控件的文本、控件的路径语言等。
S302:根据所述控件信息,确定目标控件。
所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器。
在根据控件信息确定目标控件时,针对每个控件,可以判断控件是否满足预设条件,所述预设条件包括以下至少一种:控件位于显示界面中,控件的长宽比例对称,控件的形状大小与其他控件不相似。
当控件满足所述预设条件时,可以确定控件为目标控件。所述目标控件的个数为一个或多个。
S303:确定所述目标控件的像素值。
具体地,可以获取S301中记载的应用界面的截图,通过目标控件的位置信息,从截图中截取目标控件的子截图,根据目标控件的子截图可以得到目标控件的像素值。
S304:根据所述目标控件的像素值,确定所述目标控件的加载情况。
目标控件的加载情况包括加载正常或加载异常,在确定目标控件的加载情况时,具体地,可以根据目标控件的像素值,确定目标控件中的目标区域,所述目标区域表征目标控件中加载正常的区域,目标区域的像素值不小于第一灰度值。所述第一设定值可以是目标控件中未加载出来时显示的颜色对应的灰度值。
当目标区域与目标控件的面积比小于第一比值时,可以确定目标控件加载异常;当目标区域与目标控件的面积比不小于第一比值时,可以确定目标控件加载正常。所述第一比值可以是[0.5,1]中的任意值。
S305:根据所述目标控件的加载情况,确定应用界面是否加载异常。
当目标控件的个数为一个时,若目标控件加载正常,则应用界面加载正常;若目标控件加载异常,则应用界面加载异常;
当目标控件的个数为多个时,若加载正常的目标控件的个数与目标控件的总个数的比值不小于第二比值,则应用界面正常加载,否则,应用界面加载异常。所述第二比值可以是[0.5,1]中的任意值。
当应用界面加载异常时,可以执行S306,当应用界面加载正常时,可以执行S313。
S306:判断所述应用界面中是否包含刷新控件。
所述刷新控件的文本中包含用于对应用界面进行刷新的关键词。
若应用界面中包含刷新控件,则执行S307;否则,执行S308。
S307:基于所述刷新控件在显示界面中的位置以及所述刷新控件是否包含与点击相关的关键词,选择相应的刷新方式对所述应用界面进行刷新。
具体地,当刷新控件位于显示界面的第一设定区域,且刷新控件的文本中不包含与点击相关的关键词时,可以采用下拉刷新的方式对应用界面进行刷新。其中,第一设定区域可以是显示界面的上半部分区域。
当刷新控件位于应用界面的第二设定区域,且刷新控件的文本中包含与点击相关的关键词时,可以采用点击刷新的方式对应用界面进行刷新。其中,第二设定区域可以是显示界面的中央区域。
在对应用界面进行刷新后,可以执行S313。
S308:采用下拉刷新的方式对所述应用界面进行刷新。
S309:判断对所述应用界面的刷新是否有效。
在判断对应用界面的刷新是否有效时,具体实现方式可以参见上述图1所示实施例相应步骤的具体实现,这里不再重复说明。
若刷新有效,则可以执行S313;若刷新无效,则可以执行S310。
S310:确定所述应用界面中的目标滚动控件。
目标滚动控件包含至少一个子控件,且目标滚动控件在显示界面中的显示面积与该显示界面的面积比不小于第三比值,所述第三比值可以是[0.5,1]中的任意值。
S311:判断所述目标滚动控件中目标区域的面积与所述目标滚动控件的面积的比值是否不小于第四比值。
所述目标区域表征所述目标滚动控件中未成功加载的区域,所述目标区域的像素值不大于第二灰度值,第二灰度值可以是目标滚动控件未加载出来时显示的颜色对应的灰度值。第四比值可以是[0.5,1]内的任意值。
若是,则可以说明目标滚动控件中大部分区域都没有加载出来,此时,可以执行S312;若否,则可以说明,目标滚动控件中大部分区域已加载出来,不能轻易使用点击刷新的方式进行刷新,此时,可以执行S314(在其他实现方式中,也可以由人工进行干预)。
S312:采用点击刷新的方式对所述应用界面进行刷新。
在得到刷新后的应用界面后,可以执行S313。
S313:基于当前的应用界面进行测试。
若S301中记载的应用界面加载正常,则,所述当前的应用界面为S301中记载的应用界面,若S301中记载的应用界面加载异常,则所述当前的应用界面为刷新后的应用界面。
S314:结束。
本申请实施例提供的技术方案,在应用的自动化测试中,在根据应用界面中与服务器存在数据交互的控件,确定应用界面加载异常后,通过对应用界面进行刷新,并基于刷新后的应用界面进行测试,可以避免后续的脚本执行异常,从而避免测试失败,保证测试的正常进行。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成判断应用界面是否加载异常的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常。
上述如本申请图4所示实施例揭示的判断应用界面是否加载异常的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器 (Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现判断应用界面是否加载异常的装置在图1所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常。
图5是本申请的一个实施例判断应用界面是否加载异常的装置50的结构示意图。请参考图5,在一种软件实施方式中,所述判断应用界面是否加载异常的装置50可包括:确定单元51和判断单元52,其中:
确定单元51,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
判断单元52,根据所述目标控件,判断所述应用界面是否加载异常。
可选地,所述确定单元52,确定应用界面中的目标控件,包括:
获取所述应用界面中多个控件的控件信息,所述控件信息包括以下至少一种:控件是否可用、控件是否为滚动控件,控件的位置信息;
针对每个控件,执行以下操作:
根据所述控件的控件信息,判断所述控件是否满足预设条件,所述预设条件包括以下至少一种:控件位于显示界面中,控件的长宽比例对称,控件的形状大小与其他控件不相似;
若所述控件满足所述预设条件,则确定所述控件为所述目标控件。
可选地,所述判断单元52,根据所述目标控件,判断所述应用界面是否加载异常,包括:
确定所述目标控件的像素值;
根据所述目标控件的像素值,确定所述目标控件的加载情况,所述加载情况包括加载正常或加载异常;
根据所述目标控件的加载情况,判断所述应用界面是否加载异常。
可选地,所述判断单元52,根据所述目标控件的像素值,确定所述目标控件的加载情况,包括:
根据所述目标控件的像素值,确定所述目标控件中的目标区域,所述目标区域表征所述目标控件中加载正常的区域,所述目标区域的像素值不小于第一灰度值;
判断所述目标区域与所述目标控件的面积比是否不小于第一比值;
若是,则确定所述目标控件加载正常;
若否,则确定所述目标控件加载异常。
可选地,所述判断单元52,根据所述目标控件的加载情况,判断所述应用界面是否加载异常,包括:
当所述目标控件的个数为一个时:
若所述目标控件加载正常,则确定所述应用界面加载正常;若所述目标控件加载异常,则确定所述应用界面加载异常;
当所述目标控件的个数为多个时:
判断加载正常的目标控件的个数与目标控件的总个数的比值是否不小于第二比值;若是,则确定所述应用界面正常加载;若否,则确定所述应用界面加载异常。
可选地,所述判断应用界面是否加载异常的装置50还包括:刷新单元53,其中:
若所述判断单元52确定所述应用界面加载异常,则所述刷新单元53对所述应用界面进行刷新,以便基于刷新后的应用界面对所述应用进行测试;
其中,所述刷新单元53,对所述应用界面进行刷新,包括:
判断所述应用界面中是否包含刷新控件,所述刷新控件的文本中包含用于对所述应用界面进行刷新的关键词;
若所述应用界面中包含所述刷新控件,则:
当所述刷新控件位于显示界面的第一设定区域,且所述刷新控件的文本中不包含与点击相关的关键词时,采用下拉刷新的方式对所述应用界面进行刷新;
当所述刷新控件位于所述应用界面的第二设定区域,且所述刷新控件的文本中包含与点击相关的关键词时,采用点击刷新的方式对所述应用界面进行刷新;
若所述应用界面中不包含所述刷新控件,则:
采用下拉刷新的方式对所述应用界面进行刷新。
可选地,所述刷新单元53,若所述应用界面中不包含所述刷新控件,则在采用下拉刷新的方式对所述应用界面进行刷新后,判断对所述应用界面的刷新是否有效;
若对所述应用界面的刷新无效,则:
确定应用界面中的目标滚动控件,所述目标滚动控件包含至少一个子控件,且所述目标滚动控件在显示界面中的显示面积与所述显示界面的面积比不小于第三比值;
根据所述目标滚动控件的像素值,确定所述目标滚动控件中的目标区域,所述目标区域表征所述目标滚动控件中未成功加载的区域,所述目标区域的像素值不大于第二灰度值;
若所述目标区域与所述目标滚动控件的面积比值不小于第四比值,则采用点击刷新的方式对所述应用界面进行刷新。
本申请实施例提供的判断应用界面是否加载异常的装置50还可执行图1 的方法,并实现判断应用界面是否加载异常的装置在图1所示实施例的功能,本申请实施例在此不再赘述。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成应用测试装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
当所述应用界面加载异常时,对所述应用界面进行刷新;
基于刷新后的应用界面,对所述应用进行测试。
上述如本申请图6所示实施例揭示的应用测试装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor, NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field -Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2和图3的方法,并实现应用测试装置在图2和图 3所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图2和图3所示实施例的方法,并具体用于执行以下操作:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
当所述应用界面加载异常时,对所述应用界面进行刷新;
基于刷新后的应用界面,对所述应用进行测试。
图7是本申请的一个实施例应用测试装置70的结构示意图。请参考图7,在一种软件实施方式中,所述应用测试装置70可包括:确定单元71、判断单元72、刷新单元73和测试单元74,其中:
确定单元71,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
判断单元72,根据所述目标控件,判断所述应用界面是否加载异常;
刷新单元73,当所述应用界面加载异常时,对所述应用界面进行刷新;
测试单元74,基于刷新后的应用界面,对所述应用进行测试。
本申请实施例提供的应用测试装置70还可执行图2和图3的方法,并实现应用测试装置在图2和图3所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (6)

1.一种判断应用界面是否加载异常的方法,其特征在于,包括:
确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
根据所述目标控件,判断所述应用界面是否加载异常;
其中,根据所述目标控件,判断所述应用界面是否加载异常,包括:
确定所述目标控件的像素值;
根据所述目标控件的像素值,确定所述目标控件的加载情况,所述加载情况包括加载正常或加载异常;
根据所述目标控件的加载情况,判断所述应用界面是否加载异常;
根据所述目标控件的像素值,确定所述目标控件的加载情况,包括:
根据所述目标控件的像素值,确定所述目标控件中的目标区域,所述目标区域表征所述目标控件中加载正常的区域,所述目标区域的像素值不小于第一灰度值;
判断所述目标区域与所述目标控件的面积比是否不小于第一比值;
若是,则确定所述目标控件加载正常;
若否,则确定所述目标控件加载异常。
2.如权利要求1所述的方法,其特征在于,确定应用界面中的目标控件,包括:
获取所述应用界面中多个控件的控件信息,所述控件信息包括以下至少一种:控件是否可用、控件是否为滚动控件,控件的位置信息;
针对每个控件,执行以下操作:
根据所述控件的控件信息,判断所述控件是否满足预设条件,所述预设条件包括以下至少一种:控件位于显示界面中,控件的长宽比例对称,控件的形状大小与其他控件不相似;
若所述控件满足所述预设条件,则确定所述控件为所述目标控件。
3.如权利要求1所述的方法,其特征在于,根据所述目标控件的加载情况,判断所述应用界面是否加载异常,包括:
当所述目标控件的个数为一个时:
若所述目标控件加载正常,则确定所述应用界面加载正常;若所述目标控件加载异常,则确定所述应用界面加载异常;
当所述目标控件的个数为多个时:
判断加载正常的目标控件的个数与目标控件的总个数的比值是否不小于第二比值;若是,则确定所述应用界面正常加载;若否,则确定所述应用界面加载异常。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述应用界面加载异常,则对所述应用界面进行刷新,以便基于刷新后的应用界面对所述应用进行测试;
其中,对所述应用界面进行刷新,包括:
判断所述应用界面中是否包含刷新控件,所述刷新控件的文本中包含用于对所述应用界面进行刷新的关键词;
若所述应用界面中包含所述刷新控件,则:
当所述刷新控件位于显示界面的第一设定区域,且所述刷新控件的文本中不包含与点击相关的关键词时,采用下拉刷新的方式对所述应用界面进行刷新;
当所述刷新控件位于所述应用界面的第二设定区域,且所述刷新控件的文本中包含与点击相关的关键词时,采用点击刷新的方式对所述应用界面进行刷新;
若所述应用界面中不包含所述刷新控件,则:
采用下拉刷新的方式对所述应用界面进行刷新。
5.如权利要求4所述的方法,其特征在于,若所述应用界面中不包含所述刷新控件,则在采用下拉刷新的方式对所述应用界面进行刷新后,所述方法还包括:
判断对所述应用界面的刷新是否有效;
若对所述应用界面的刷新无效,则:
确定应用界面中的目标滚动控件,所述目标滚动控件包含至少一个子控件,且所述目标滚动控件在显示界面中的显示面积与所述显示界面的面积比不小于第三比值;
根据所述目标滚动控件的像素值,确定所述目标滚动控件中的目标区域,所述目标区域表征所述目标滚动控件中未成功加载的区域,所述目标区域的像素值不大于第二灰度值;
若所述目标区域与所述目标滚动控件的面积比值不小于第四比值,则采用点击刷新的方式对所述应用界面进行刷新。
6.一种判断应用界面是否加载异常的装置,其特征在于,包括:
确定单元,确定应用界面中的目标控件,所述目标控件包括与服务器存在数据交互的控件,所述服务器为应用对应的服务器;
判断单元,根据所述目标控件,判断所述应用界面是否加载异常;
所述判断单元,根据所述目标控件,判断所述应用界面是否加载异常,包括:
确定所述目标控件的像素值;
根据所述目标控件的像素值,确定所述目标控件的加载情况,所述加载情况包括加载正常或加载异常;
根据所述目标控件的加载情况,判断所述应用界面是否加载异常;
所述判断单元,根据所述目标控件的像素值,确定所述目标控件的加载情况,包括:
根据所述目标控件的像素值,确定所述目标控件中的目标区域,所述目标区域表征所述目标控件中加载正常的区域,所述目标区域的像素值不小于第一灰度值;
判断所述目标区域与所述目标控件的面积比是否不小于第一比值;
若是,则确定所述目标控件加载正常;
若否,则确定所述目标控件加载异常。
CN201910099056.XA 2019-01-31 2019-01-31 一种判断应用界面是否加载异常的方法和装置 Active CN109828926B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910099056.XA CN109828926B (zh) 2019-01-31 2019-01-31 一种判断应用界面是否加载异常的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910099056.XA CN109828926B (zh) 2019-01-31 2019-01-31 一种判断应用界面是否加载异常的方法和装置

Publications (2)

Publication Number Publication Date
CN109828926A CN109828926A (zh) 2019-05-31
CN109828926B true CN109828926B (zh) 2022-02-08

Family

ID=66862017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910099056.XA Active CN109828926B (zh) 2019-01-31 2019-01-31 一种判断应用界面是否加载异常的方法和装置

Country Status (1)

Country Link
CN (1) CN109828926B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825726B (zh) * 2019-10-31 2021-06-04 支付宝(杭州)信息技术有限公司 区块链数据检测方法、装置及设备
CN112363919B (zh) * 2020-11-02 2024-02-13 北京云测信息技术有限公司 用户界面ai自动化测试方法、装置、设备和存储介质
CN112988586B (zh) * 2021-03-25 2023-07-14 腾讯科技(深圳)有限公司 一种控件测试方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877716A (zh) * 2010-03-10 2010-11-03 艾默生网络能源有限公司 组态模板的定制方法、组态模板的显示方法及服务器
CN103678120A (zh) * 2013-11-12 2014-03-26 北京京东尚科信息技术有限公司 基于建模的web应用自动化测试方法
CN105930261A (zh) * 2016-01-16 2016-09-07 平安科技(深圳)有限公司 测试方法及测试终端
CN106775836A (zh) * 2016-11-29 2017-05-31 腾讯科技(深圳)有限公司 界面显示方法及界面显示装置
CN107329898A (zh) * 2017-06-30 2017-11-07 上海摩软通讯技术有限公司 终端界面自动化测试方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324596B2 (en) * 2014-08-05 2019-06-18 International Business Machines Corporation Guided remediation of accessibility and usability problems in user interfaces

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101877716A (zh) * 2010-03-10 2010-11-03 艾默生网络能源有限公司 组态模板的定制方法、组态模板的显示方法及服务器
CN103678120A (zh) * 2013-11-12 2014-03-26 北京京东尚科信息技术有限公司 基于建模的web应用自动化测试方法
CN105930261A (zh) * 2016-01-16 2016-09-07 平安科技(深圳)有限公司 测试方法及测试终端
CN106775836A (zh) * 2016-11-29 2017-05-31 腾讯科技(深圳)有限公司 界面显示方法及界面显示装置
CN107329898A (zh) * 2017-06-30 2017-11-07 上海摩软通讯技术有限公司 终端界面自动化测试方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于图像匹配的移动应用自动化测试方法研究;李昕宇等;《计算机工程与应用》;20161231;第52卷(第13期);第43-47页 *

Also Published As

Publication number Publication date
CN109828926A (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
CN109828926B (zh) 一种判断应用界面是否加载异常的方法和装置
US9213625B1 (en) Method and apparatus for performing automated user-interface layout testing
US9256517B1 (en) Display of aggregated stack traces in a source code viewer
US7747987B1 (en) System and method of analyzing risk in risk-based software testing
CN110634049B (zh) 页面显示内容的处理方法、装置、电子设备及可读介质
CN109684573B (zh) 目标图片显示方法及装置、存储介质、电子设备
CN110764986A (zh) 页面流畅度检测方法及装置
CN110334013B (zh) 决策引擎的测试方法、装置及电子设备
CN112817831A (zh) 应用性能监测方法、装置、计算机***和可读存储介质
CN109062793B (zh) 一种滚轮控件的测试方法、装置及电子设备
CN112035341A (zh) 一种自动化测试方法及装置
CN109388564B (zh) 一种测试方法、装置及电子设备
CN113780163A (zh) 一种页面加载时间的检测方法、装置、电子设备及介质
CN109740336B (zh) 一种图片中的验证信息的识别方法、装置及电子设备
CN110708270A (zh) 异常链接检测方法以及装置
CN115061618A (zh) 一种滑动展示列表数据的方法、装置以及电子设备
CN110765380B (zh) 一种列表页的数据加载方法以及终端
CN109903165B (zh) 一种模型合并方法和装置
US9792202B2 (en) Identifying a configuration element value as a potential cause of a testing operation failure
CN113449218A (zh) 适配处理方法、装置及***
CN112035292A (zh) 一种数据写入异常的处理方法、装置、设备及存储介质
CN113220382A (zh) 一种应用语言包的异常检测方法及装置
CN110018922B (zh) 一种图表信息的交互展示方法、装置及电子设备
CN110647680A (zh) 用户浏览行为分析方法及装置
CN108805514B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210716

Address after: 100016 no.4301, No.52 Jiuxianqiao hospital, Chaoyang District, Beijing

Applicant after: BEIJING TESTIN INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 2016, building 2, No.8, Fenghuang Third Road, Zhongxin Guangzhou Knowledge City, Guangzhou 510260, Guangdong Province

Applicant before: GUANGZHOU TESTIN INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant