显示界面测试方法、装置、电子设备及存储介质与流程

allin2024-12-27  76



1.本技术涉及显示界面测试技术领域,更具体地,涉及一种显示界面测试方法、装置、电子设备及存储介质。


背景技术:

2.由于互联网迅速发展,产品(移动端和web端)业务流程越来越复杂、越来越多且迭代速度越来越快,测试人员对界面功能的回归测试的压力也越来越大,界面自动化测试也愈渐重要。在日常的界面自动化测试中常常会遇到编写或者单个用例执行时成功,但测试脚本文件一旦正式测试起来就会出现校验失败的情况,最终导致显示界面测试失败。


技术实现要素:

3.鉴于上述问题,本技术提出了一种显示界面测试方法、装置、电子设备及存储介质,能够解决上述问题。
4.第一方面,本技术实施例提供了一种显示界面测试方法,应用于电子设备,所述方法包括:在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。
5.第二方面,本技术实施例提供了一种显示界面测试装置,应用于电子设备,所述装置包括:加载模块,用于在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;获取模块,用于在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;确定模块,用于在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;测试模块,用于加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。
6.第三方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述方法。
7.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
8.第五方面,本技术实施例提供了一种计算机程序产品,其特征在于,该计算机程序/指令被处理器执行上述方法。
9.本技术提供的显示界面测试方法、装置、电子设备及存储介质,在电子设备加载出目标显示界面后,再加载测试用例,并依据测试用例对目标显示界面进行测试,也就是得到目标显示界面后,再对目标显示界面进行测试,确保了测试用例能够对目标显示界面进行测试,从而在一定程度上可以避免测试失败的情况。
10.本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1示出了本技术一实施例提供的显示界面测试方法的一种应用环境示意图;
13.图2示出了本技术一实施例提供的显示界面测试方法的流程示意图;
14.图3示出了本技术另一实施例提供的显示界面测试方法的流程示意图;
15.图4示出了本技术的图3所示的显示界面测试方法的步骤s250的一种流程示意图;
16.图5示出了本技术又一实施例提供的显示界面测试方法的流程示意图;
17.图6示出了本技术一实施例提供的显示界面测试装置的框图;
18.图7是本技术实施例的用于执行根据本技术实施例的显示界面测试方法的电子设备的框图;
19.图8示出了本技术实施例的用于保存或者携带实现根据本技术实施例的显示界面测试方法的程序代码的存储单元。
具体实施方式
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.首先对涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释:
22.(1)测试用例(test case):指的是某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于测试某个程序路径或核实是否满足某个特定需求的程序(或脚本、代码)。
23.(2)ui自动化测试:是把以人为驱动的测试行为转化为机器执行的一种过程。通常在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
24.(3)强制等待(sleep):根据代码设置一个等待的时间,当到达设定的时间才能执行下一步操作。
25.(4)显性等待(visibility_of_element_located):根据代码设置一个等待的最长时间,在规定的时间内等待页面中指定的元素出现,出现后立即执行下一步操作,超出时间未出现则抛出超时异常。
26.(5)隐性等待(implicitly_wait):如果webdriver未在文件对象模型(documentobjectmodel,简称dom)中找到元素,将继续等待,超出设定时间后则抛出找不到元素的异常,当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找dom,默认的时间是0,一旦设置了隐式等待,则它存在整个webdriver对象实例的声明周期
中,它将会在寻找每个元素的时候都进行等待。
27.在相关技术中,在页面自动化测试中常常会遇到编写或者单个测试用例执行时成功,一旦测试用例在实际测试过程中正式运行起来时,就会出现校验失败,测试用例脚本很不稳定的情况;因为在实际运行过程中,会遇到各种状况,比如网络不稳定,运行机器的高低配置不一,都会使得测试时,出现页面加载和元素加载渲染时间不一的情况,所以脚本运行起来都会出现各种各样的问题。
28.目前,selenium界面自动化框架针对页面加载和元素加载渲染时间不一的情况,封装了隐性等待和显性等待的方法,显性等待只能解决判断元素是否出现,隐性等待只能解决界面元素是否全部都加载完成的场景,这些技术方案都不能适用于一些界面元素发生变化或者按钮状态发生变化的场景,在很多实际场景中,在页面加载完成,且该页面上的元素加载完成后才是目标测试界面,如果界面仅仅出现页面(元素还没加载完成)就继续执行接下来的测试规则代码,是没有任何意义的,用例校验点都会失败,导致最终的显示界面校验失败。并且,在selenium界面自动化框架封装了强制等待时,如果界面元素已经加载完成,仍需继续等待,直到强制等待中预设时间结束后,才会执行校验,在界面元素已经加载完成(出现)后持续等待导致测试时间延长,降低了测试效率,如果预设的等待时间较短,可能会出现等待时间已经结束,但界面元素还没加载完成的情况,此时进行测试,就会直接测试失败。
29.在一些实施方式中,测试用例与测试页面同时加载,并在测试用例加载结束后直接对当前加载的测试页面进行测试,但此时,并不能确定需要测试的页面元素已经出现,因此,也很容易造成测试无效的情况出现。示例性的,在测试用例测试从一个列表搜索姓名的场景中,测试人员编辑的脚本输入预设姓名元素“张三”进行搜索,通过元素定位方法定位到姓名栏,在对姓名栏中的元素进行测试。由于测试用例加载的速度较快,例如在0.1秒即可完成加载,而同样在0.1秒时,只能加载出列表中位于预设姓名元素之前的姓名元素,例如,在0.1秒时显示页面加载出的姓名元素为“李四”,而预设姓名元素“张三”还暂未加载成功,也就是说,在0.1秒加载出测试用例时,会对同时加载出有姓名元素“李四”的显示页面进行测试,可见,该实施方案完全未达到测试人员测试预设姓名元素“张三”的目的。
30.针对上述技术问题,发明人经过长期的研究发现并提出了一种显示界面测试方法、装置、电子设备及存储介质,在电子设备加载出目标显示界面后,再加载测试用例,并依据测试用例对目标显示界面进行测试,也就是确保了测试用例能够对目标显示界面进行测试,从而在一定程度上可以避免测试失败的情况。其中,具体的显示界面测试方法在后续的实施例中具体说明。
31.结合上述例子,在本技术实施例提供的方法中,通过预先加载预设姓名元素“张三”,在成功加载出预设姓名元素“张三”后,再加载测试用例,确保在加载出测试用例时,预设姓名元素已经成功加载,从而保证了对预设姓名元素测试的成功率。
32.为了更好理解本技术实施例提供的一种显示界面测试方法、装置、电子设备及存储介质,下面先对适用于本技术实施例的应用环境进行描述。
33.图1示出了本技术一实施例提供的显示界面测试方法的一种应用环境示意图,请参阅图1,本技术实施例提供的显示界面测试方法可以应用于显示界面测试系统100。该显示界面测试系统100包括电子设备110、服务器120以及通信网络130,电子设备110和服务器
120之间通过通信网络130连接。
34.图1中电子设备110为测试终端,用于在显示界面测试时展示用户界面,还可以用于展示测试结果。例如,测试结果可以包括测试通过和测试不通过,则可以在电子设备110的测试结果展示页面“测试通过”或“测试不通过”的文字结果,以便测试人员了解测试结果。
35.本技术实施例中,测试人员可以基于电子设备110输入测试操作,电子设备110可以通过通信网络130从服务器120加载显示界面,并且通过通信网络130从服务器120处加载测试用例,电子设备110通过测试用例对显示界面进行测试,获得测试结果。
36.其中,电子设备110可以为各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)以及可穿戴设备等。其中,便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(pda)等;可穿戴设备可以包括头戴式显示器和其他设备。电子设备110能够执行各种不同的应用程序,例如各种与internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(sms)应用程序,并且可以使用各种通信协议。
37.服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
38.通信网络130可以是任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于tcp/ip、sna、ipx等)来支持数据通信。仅作为示例,一个或多个通信网络130可以是局域网(lan)、基于以太网的网络、令牌环、广域网(wan)、因特网、虚拟网络、虚拟专用网络(vpn)、内部网、外部网、公共交换电话网(pstn)、红外网络、无线网络(例如蓝牙、wifi)和/或这些和/或其他网络的任意组合。
39.需要说明的是,图1所示的应用环境示意图仅仅是一个示例,本技术实施例描述的显示界面测试场景是为了更加清楚地说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定。本领域普通技术人员可知,随着显示页面以及测试用例的演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。下面将通过具体实施例对本技术实施例提供的显示界面测试方法、装置、电子设备及存储介质进行详细说明。
40.图2示出了本技术一实施例提供的显示界面测试方法的流程示意图,请参阅图2,本技术实施例提供了一种显示界面测试方法,可以应用于图1所示的显示界面测试系统100。下面将以显示界面测试方法应用于电子设备110中为例针对图2所示的流程进行详细的阐述,所述显示界面测试方法具体可以包括如下步骤:
41.步骤s110:在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测。
42.电子设备可以从本地也可以从服务器加载显示界面,其中,显示界面可以为网页的显示界面,还可以为应用程序的显示界面,还可以为桌面等。
43.在电子设备加载上述显示界面的情况下,对加载出的显示界面进行检测,以检测出显示界面上出现的目标元素,其中,目标元素可以是预设位置的元素,还可以是预先设置的元素,目标元素用于判断显示目标元素的显示界面是否为目标显示界面。
44.需要说明的是,元素也即数据元素,是计算机科学术语,是数据的基本单位。
45.在一些实施方式中,电子设备接收到用户的输入操作,其中,输入操作可以是基于电子设备的触摸屏、键盘、鼠标、遥控器等进行的,例如,可以是触控触摸屏上的加载控件,也可以是点击触摸屏上显示的链接;电子设备响应于用户的输入操作加载显示界面。
46.在另一些实施方式中,预先设置了加载事件,电子设备响应加载事件,自动从服务器加载显示界面。作为一种方式,预先设置定时器(settimeout)功能,当到达预定的时间后,自动加载显示页面。
47.在对显示界面的目标元素进行检测时,通过预先封装等待方法等待显示界面上出现目标元素的。其中,目标元素可以包括图片、标题、界面关键字、作者等元素。
48.在一些实施方式中,可以预先封装等待方法(expected_conditions.visibility_of_element_locate),并保存在公共配置文件中,在需要检测显示界面上的目标元素时,从公共配置文件中运行预先封装等待方法的执行脚本,对显示界面进行检测,以等待目标元素出现。
49.在另一些实施方式中,可以预先封装循环方法(webdriverwait.until),并保存在公共配置文件中,并且结合预先封装的等待方法,从公共配置文件中运行预先封装的等待方法的执行脚本,通过等待方法检测出显示界面上出现元素,在检测到该元素并非目标元素时,再从公共配置文件中获取预先封装的循环方法的执行脚本,通过预先封装的循环方法循环等待,直到等待出目标元素。
50.在另一些实施方式中,结合显性等待,预先设置等待时长并保存在公共配置文件中,便于候选的调用以及管理。在需要检测显示界面上的目标元素时,从公共配置文件中调取预先设置的等待时长,在预先设置的等待时长内等待显示界面上加载出目标元素,当在预先设置的等待时长内等待出目标元素时,结束等待,或者,在预先设置的等待时长内未等待出目标元素时,也结束等待。
51.需要说明的是,将预先封装的等待方法、预先封装的循环方法以及预先设置的等待时长均存储于公共配置文件中,便于在检测显示目标元素时直接调用,也便于统一管理以及修改。并且预先存储上述内容,除了此次检测目标元素外,还可以用于后续检测目标元素,提高了代码的复用率。
52.步骤s120:在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素。
53.在检测到显示界面上存在目标元素后,获取显示界面上当前加载出的目标元素。
54.在一些实施方式中,检测到目标元素后,通过预先封装的公共方法获取显示界面上当前加载出的目标元素。例如,当目标元素为标题时,通过运行预先封装的标题检测方法(element.title())的执行脚本获选显示界面上的标题,如获取的标题title为“鱼丸的制作方法”;再例如,当目标元素为元素值时,通过运行断言表达式预先封装的值检测方法(element.text())的执行脚本获取显示界面上加载出的元素的值,其中,元素的值标准显示的元素代表的具体含义,如目标元素为预设位置(例如为显示界面右下角)的元素,元素值为“确认”;又例如,当目标元素为图片时,通过截图工具(例如casperjs)截取显示界面上目标位置的图片。
55.步骤s130:在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显
示界面确定为目标显示界面。
56.其中,预设显示场景为测试人员期待的显示界面呈现的场景。
57.判断当前加载出的目标元素是否满足预设显示场景,当加载出的目标元素满足预设显示场景时,说明加载有目标元素的显示界面已经满足预设显示场景,将显示界面确定为目标显示界面。目标显示界面是测试人员期待的测试界面,目标显示界面也是用于测试的界面。
58.在一些实施方式中,预先设置预设元素,其中,预设元素为测试人员期待的元素,获取预设元素,判断当前加载出的目标元素是否与预设元素一致,当当前加载出的目标元素与预设元素一致时,说明在显示界面上已经加载出满足测试期待的元素,也就是说,目标元素满足预设显示场景,将加载有目标元素的显示界面确定为目标显示界面。
59.例如,预设显示场景中存在预设控件,预设控件上的预设元素为“确定”,当显示界面上加载出预设控件时,预设控件上显示的元素为目标元素,当目标元素为“确定”时,目标元素与预设元素一致,显示界面满足预设场景,将显示界面确定为目标显示界面。
60.可选地,本实施方式的预设元素可以通过下述方式获取,如下,获取所述当前加载出的目标元素在所述显示界面上的显示位置。根据第一预设映射关系,获取所述显示位置对应的预设元素,其中,所述第一预设映射关系包括多个显示位置和多个预设元素之间的对应关系,所述多个显示位置和所述多个预设元素之间一一对应,一个所述显示位置与一个预设元素对应,可以理解的是,在第一预设映射关系中每个显示位置对应一个预设元素。例如,在第一预设关系中包括显示位置a对应预设元素“确认”、显示位置b对应预设元素“取消”、显示位置c对应预设元素“返回”。如果在本实施例中目标元素所在的显示位置为c,基于上述第一预设关系,则目标元素所在的显示位置c对应预设元素“返回”。如果所述目标元素与预设元素匹配,确定所述当前加载出的目标元素满足预设显示场景,继续结合上述例子进行说明,如果目标元素为“返回”,则预设元素“返回”和目标元素“返回”匹配,说明显示界面加载出的目标元素和期望出现的预设元素一致,测试结果为当前加载出的目标元素满足预设显示场景。如果不匹配,则当前加载出的目标元素不满足预设显示场景,继续结合上述例子,如果目标元素为“确认”,则预设元素“返回”和目标元素“确认”不匹配,说明显示界面上出现的目标元素并非期望出现的预设元素,测试结果为当前加载出的目标元素不满足预设显示场景,后台人员根据该测试结果对用于显示上述界面的软件程序进行修改,以使实际加载元素和期望出现的元素一致。
61.步骤s140:加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。
62.在确定加载出目标显示界面后,电子设备再加载目标显示界面对应的测试用例,其中,测试用例包括用程序或代码编写的测试规则,并依据测试用例中包括的测试规则对目标显示界面进行测试。
63.可选地,在加载目标显示界面后,在预设一个较小的时间间隔,例如为0.2秒,电子设备在加载目标显示界面0.2秒后,在加载目标显示界面对应的测试用例,设置上述时间间隔,保证目标显示界面成功加载后,再加载测试用例,以提高测试成功率。
64.电子设备从存储位置加载测试用例。在一些实施方式中,测试用例可以预先存储于电子设备本地,在电子设备需要使用测试用例时,可以从电子设备本地快速地加载测试用例。并且,由于测试用例存储于电子设备本地,可以有效地避免由于网络因素的影响而降
低了测试用例的加载速度,保证显示界面的测试快速进行。
65.在另一些实施方式中,测试用例可以预先存储于与电子设备通信连接的服务器中,在电子设备需要加载测试用例时,可以将测试需求发送至服务器,服务器响应于测试需求并反馈测试用例,电子设备再从服务器加载测试用例,由于测试用例存储于服务器,可以减小测试用例对电子设备本地存储空间的占用,降低对电子设备正常运行的影响。
66.依据测试用例中包括的测试规则对目标显示界面进行测试,获得测试结果,其中,测试结果可以包括测试通过ture,或者是测试失败false以及对应的原因。可以将获得的测试结果反馈至后台,或者直接显示于电子设备上,以告知测试人员测试结果。
67.在本实施例提供的显示界面测试方法,在电子设备加载显示界面的情况下,对显示界面上加载出的目标元素进行检测,在检测到目标元素的情况下,获取显示界面上当前加载出的目标元素,在当前加载的目标元素满足预设显示场景的情况下,将加载有目标元素的显示界面确定为目标显示界面,在确保目标显示界面成功加载后,再加载测试用例,并依据测试用例对目标显示界面进行测试,通过加载显示界面后再加载测试用例,在一定程度上保证测试用例能够成功测试目标显示界面,提高了测试用例测试的成功率,以及测试的稳定性。
68.可选地,在上一实施例中,在判断当前加载出的目标元素是否满足预设显示场景时,获得的判断结果除了上述实施例的在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面外,在本实施例中还可以包括:目标元素不满足预设显示场景,说明加载出目标元素的显示窗口上可能出现异常弹窗,则继续执行上述步骤s110的步骤,即继续执行所述对所述显示界面上所加载出的目标元素进行检测的步骤。
69.在一些实施方式中,预先设置预设元素,其中,预设元素为测试人员期待的元素,当前加载出的目标元素与预设元素不一致时,说明在显示界面上暂未加载出满测试期待的元素,目标元素不满足预设显示场景还需要继续等待。
70.例如,预设显示场景中预先设置预设元素为“姓名”,当显示界面上加载出的目标元素为“身份证号”时,目标元素“身份证号”与预设元素“姓名”不一致,则显示界面暂未完全加载,或者并未加载出测试人员期待的显示页面,需要继续等待。
71.在所述当前加载出的目标元素不满足预设显示场景的情况下,继续执行所述对所述显示界面上所加载出的目标元素进行检测的步骤(即步骤s120),当重新执行一次所述对所述显示界面上所加载出的目标元素进行检测的步骤,实际获取次数递增一次,直至在预设获取次数内重新获取的目标元素与预设元素匹配时,确定重新获取的目标元素满足所述预设显示场景,并将所述显示界面确定为所述目标显示界面,以供后续测试。也就是说,实际获取次数最多为预设获取次数,作为其中一种方式,在公共配置文件中预先配置有预设获取次数,所述预设获取次数为返回执行所述对所述显示界面上所加载出的目标元素进行检测的步骤的次数,预设获取次数用于限定重复获取目标元素的次数,例如,预设获取次数可以为3次、6次等。
72.可选地,公共配置文件中预先配置的预设获取次数可以是固定值,例如,可以为5次,配置好预设获取次数后,在重新执行所述对所述显示界面上所加载出的目标元素进行检测的步骤最多为固定的预设获取次数,为了适应不同的测试场景,测试人员可以对固定
的预设获取次数进行调节,例如可以调节为固定的6次。
73.可选地,公共配置文件中预先配置的预设获取次数可以是变化的,通过变化的预设获取次数可以更加适配不同的预设显示场景,例如预设获取次数可以跟随图1中的显示界面测试系统100、电子设备110、服务器120以及通信网络130变化。作为一种实施方式,获取所述电子设备的当前状态,其中,所述当前状态至少包括当前网络状态,当前网络状态包括电子设备处的网速,例如网速为8kb/s、0.6kb/s,再基于所述当前网络状态确定预设获取次数。
74.作为其中一种方式,预先设置预设网络状态,例如预设网络状态为7kb/s,用网络状态与预设网络状态比较;在当前网络状态优于预设网络状态的情况下,例如预设网络状态为7kb/s,当前网络状态为8kb/s,则当前网络状态8kb/s优于预设网络状态7kb/s,表征电子设备的当前网络状况较佳,可以配置第一获取次数;或者是,当预设网路状态优于当前网络状态,例如预设网络状态为7kb/s,当前网络状态为0.6kb/s,则预设网络状态7kb/s优于当前网络状态0.6kb/s,表征电子设备的当前网络状况较差,可以配置第二获取次数,其中,第一获取次数多于第二获取次数。也就是说,当前网络状态优于预设网络状态时确定的预设获取次数,大于所述预设网络状态优于当前网络状态时确定的预设获取次数。
75.作为其中另一种方式,预先建立多个网络状态与获取次数之间的对应关系,在检测到电子设备的网络状态时,基于该对应关系,获取网络状态对应的获取次数。
76.作为另一种实施方式,网络状态还可以包括处理器剩余资源,例如为随机存取存储器的剩余空间,获取电子设备的处理器剩余资源,基于处理器剩余资源确定获取次数,并且将该获取次数作为预设获取次数。当处理器剩余资源大于预设剩余资源时,获取第三获取次数,当处理器剩余资源小于或等于预设剩余资源时,获取第四获取次数,其中,所述第三获取次数多于第四获取次数。
77.本实施例提供一种显示页面的测试方法,当电子设备加载出显示界面时,对显示界面上加载出的目标元素进行检测并获取;判断当前加载出的目标元素是否满足预设显示场景;当判断当前加载出的目标元素已满足预设显示场景时,可以对加载有目标元素的显示页面进行测试;当当前加载出的目标元素不满足预设显示场景,说明还需继续循环等待,直至在预设获取次数内重新获取的目标元素与预设元素匹配,在对加载有重新获取的目标元素的显示界面进行测试,当加载出满足预设显示场景的目标元素就对显示页面进行测试,相较于强制等待,本实施例的循环等待可以避免因设置了较短的等待时间无法等到满足预设显示场景的目标元素,也可以避免因设置了较长的等待时间,在等待到满足预设显示场景的目标元素后还需要持续等待。
78.可选地,在上述实施例的基础上,本实施例提供了一种显示界面测试方法,图3示出了本技术另一实施例提供的显示界面测试方法的流程示意图,请参阅图3,所述显示界面测试方法具体可以包括如下步骤:
79.步骤s210:在所述电子设备加载所述显示界面的情况下,在预设等待时长内对所述显示界面上所加载出的目标元素进行检测。
80.在电子设备加载显示界面的情况下,使用显性等待的方法,预先设置预设等待时长,并且将预设等待时长存储于公共配置文件中,在需要检测目标元素时,从公共配置文件中获取预设等待时长,在预设等待时长内对显示界面上所加载出的目标元素进行检测,如
果在等待时长超过预设等待时长后仍未在显示界面上加载出目标元素,说明目标显示页面加载失败,结束对目标元素的检测,由于未检测到目标元素,因此目标显示界面加载失败,对目标显示界面的测试也失败,可以在电子设备上显示“目标显示界面加载失败”或者“加载失败”等提示,以提示测试人员对加载失败的原因进行排查,例如网络指令不佳等原因。
81.步骤s220:获取所述显示界面上当前加载出的目标元素。
82.步骤s230:在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面。
83.本实施例中,步骤s220-步骤s230的具体描述可以参考上述实施例中步骤s120-步骤s130,在此不再赘述。
84.步骤s240:在所述目标显示界面上确定多个功能点。
85.其中,功能点可以理解为目标显示界面上需要测试其功能的位置,在显示界面上分布有多个功能点。可选地,测试人员可以预先在选取多个功能点,或者是根据历史校验数据,在容易出现问题的地方选取多个功能点。
86.步骤s250:加载所述测试用例,并依据所述测试用例对所述多个功能点进行测试。
87.加载测试用例,依据测试用例中携带的测试规则,对多个功能点进行测试,以实现对目标显示界面的测试。
88.在一些实施方式中,加载测试用例,依据测试用例中的测试规则设置的对多个功能点的测试顺序,逐一对多个功能点进行测试,直到多个功能点中最后一个功能点测试完毕,确定整个目标显示界面测试结束。或者是,加载测试用例,获取多个测试用例的位置顺序,测试用例按照位置顺序对多个功能点逐一进行测试,直到每个功能点测试完毕,确定整个目标显示界面测试结束。
89.在另一些实施方式中,可以从多个功能点中选取部分功能点作为目标功能点,对目标功能点进行测试,提升显示界面测试速率,图4示出了本技术的图3所示的显示界面测试方法的步骤s250的一种流程示意图,请参阅图4,步骤s250包括如下子步骤:
90.子步骤s251:获取第一时长,其中,第一时长为所述显示界面当前加载出目标元素的时长。
91.获取显示界面加载出目标元素的时长作为第一时长,所述第一时长指的是从开始加载至成功加载出目标元素的时长。例如,第一时长为2s。
92.需要说明的是,如果当前加载出目标元素不满足预设显示场景时,需要重复执行步骤s210即执行当所述电子设备加载所述显示界面时,在预设等待时长内对所述显示界面上所加载出的目标元素进行检测,循环获取目标元素,直至在预设等待时长内获取到满足预设显示场景的目标元素,在循环获取目标元素的情况下,第一时长为从开始加载至成功加载出满足预设显示场景的目标元素的时长。
93.子步骤s252:根据预设等待时长和所述第一时长之差,获得第二时长,所述预设等待时长为对所述目标显示界面的测试时长。
94.针对对自动切换的显示界面(例如幻灯片显示界面、视频播放页面等)进行测试的场景,对每个目标显示界面进行测试的时间是有限的,对每个目标显示界面的测试时长可以为预设等待时长,根据预设等待时长和第一时长之差,获得第二时长,其中,第二时长可以表征测试目标功能点的时长,也可以表征测试目标显示界面的时长。可以理解的是,当加
载目标显示界面的速度越快,相应地第一时长越短,留给显示界面测试的第二时长越长,反之,当加载目标显示界面的速度越慢,相应地第一时长越长,留给显示界面测试的第二时长越短。
95.子步骤s253:根据所述第二时长从所述多个功能点中确定目标功能点。
96.第二时长是用于测试功能点的时长,第二时长越长,电子设备有更多的时间来测试功能点,因此可以选择较多的功能点作为目标功能点,反之,第二时长越短,电子设备有更少的时间来测试功能点,因此可以选择较少的功能点作为目标功能点。
97.作为一种方式,预先建立第二预设映射关系,其中,所述第二预设映射关系包括多个第二时长和多个数量之间的对应关系,所述多个第二时长和所述多个数量之间一一对应,一个第二时长与一个数量对应。可以理解的是,多个第二时长中每个第二时长对应一个数量,例如,第二预设映射关系中包括0.2秒对应5个功能点,0.8秒对应9个功能点,可以理解的,当第二时长的取值与第二预设映射关系中的第二时长不一致时,可以四舍五入进行取值后,再查找到对应的功能点数量。基于第二预设映射关系,获取所述第二时长对应的目标数量,其中,目标数量小于或等于多个功能点的总数量,也就是说,选取的目标数量不超过显示界面上功能点的总数量。目标功能点需要通过测试用例进行校验,测试用例的数量为至少一个。
98.子步骤s254:加载所述测试用例,并依据所述测试用例对所述目标功能点进行测试。
99.加载测试用例,测试用例中携带有测试规则,依据测试规则对目标功能点进行测试,以实现对加载有目标功能点的目标显示页面的测试。
100.在本实施例中,当电子设备加载显示界面时,对显示界面上加载出的目标元素进行检测并获取当前加载的目标元素,当当前加载的目标元素满足预设显示场景时,将加载有目标元素的显示界面确定为目标显示界面,在目标显示界面上确定多个功能点,从多个功能点中选取部分功能点作为目标功能点,再加载测试用例,并依据测试用例对目标功能点进行测试,以实现对目标显示界面进行测试,仅对部分目标功能点进行测试,提升了测试速率。
101.在上述实施例的基础上,本实施例提供了一种显示界面测试方法,图5示出了本技术又一实施例提供的显示界面测试方法的流程示意图,请参阅图5,所述显示界面测试方法具体可以包括如下步骤:
102.步骤s301:检测目标元素。
103.在电子设备加载显示页面时,通过预先封装的公共方法,例如(expected_conditions.visibility_of_element_locate)、(webdriverwait.until)等对目标元素进行检测
104.步骤s302:判断目标元素是否出现。
105.当所述目标元素未出现时,即显示页面上并未加载出目标元素,执行步骤s303,反之,当目标元素出现时,即显示页面上加载出目标元素,执行步骤s304。
106.步骤s303:判断是否处于预设等待时长内。
107.当处于等待时长内时,流程回到步骤s301,继续检测目标元素,当未处于等待时长内时,流程执行步骤s310。
108.步骤s304:获取界面元素值。
109.其中,界面元素值指的是目标元素代表的具体含义,如目标元素为预设位置(例如为显示界面右下角)的元素,元素值为“确认”。
110.步骤s305:判断元素值是否符合预期。
111.当所述元素值不符合预期时,流程执行步骤s306,反之,当元素值符合预期时,流程进入步骤s307。
112.步骤s306:判断循环次数是否大于设定次数。
113.当循环次数小于设定次数时,流程回到步骤s304,反之,当循环次数大于设定次数时,流程进入步骤s310。
114.步骤s307:校验目标显示页面。即校验目标页面是否为ture。
115.当校验结果为ture时,流程进入步骤s308,反之当校验结果为false时,流程进入步骤s309。
116.步骤s308:获得第一校验结果,则测试通过。
117.将第一校验结果显示在电子设备的显示屏上,以文字的形式“校验通过”进行显示,或者是以语音播放的形式播报“校验通过”。还可以将第一校验结果反馈至后端服务器。
118.步骤s309:获得第二校验结果,则测试不通过。
119.将第二校验结果显示在电子设备上,例如,以“校验不通过”文字的形式进行显示,并且显示对应的不通过原因,方便修改。还可以将第二校验结果反馈至后端服务器。
120.步骤s310:校验结束。
121.本实施例中,步骤s301-步骤s310的具体描述可以参考上述实施例中的步骤,在此不再赘述。
122.为实现上述方法类实施例,本实施例提供一种显示界面测试装置,图6示出了本技术一实施例提供的显示界面测试装置的框图,请参阅图6,显示界面测试装置200包括:加载模块210、获取模块220、确定模块230以及测试模块240。
123.加载模块210,用于在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;
124.获取模块220,用于在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;
125.确定模块230,用于在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;
126.测试模块240,用于加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。
127.可选地,显示界面测试装置200还包括:循环模块。
128.循环模块,用于在所述当前加载出的目标元素不满足预设显示场景的情况下,继续执行所述对所述显示界面上所加载出的目标元素进行检测的步骤,直至在预设获取次数内重新获取的目标元素与所述预设元素匹配的情况下,确定重新获取的目标元素满足所述预设显示场景,并将所述显示界面确定为所述目标显示界面,所述预设获取次数为返回执行所述对所述显示界面上所加载出的目标元素进行检测的步骤的次数。
129.可选地,显示界面测试装置200还包括:状态获取模块以及次数确定模块。
130.状态获取模块,用于获取所述电子设备的当前网络状态;
131.次数确定模块,用于基于所述当前网络状态确定所述预设获取次数,其中,当前网络状态优于预设网络状态时确定的预设获取次数,大于所述预设网络状态优于当前网络状态时确定的预设获取次数。
132.可选地,确定模块230包括:显示位置确定子模块、映射子模块以及预设元素确定子模块。
133.显示位置确定子模块,用于获取所述当前加载出的目标元素在所述显示界面上的显示位置;
134.映射子模块,用于根据第一预设映射关系,获取所述显示位置对应的预设元素,其中,所述第一预设映射关系包括多个显示位置和多个预设元素之间的对应关系,所述多个显示位置和所述多个预设元素之间一一对应;
135.预设元素确定子模块,用于在所述目标元素与预设元素匹配的情况下,确定所述当前加载出的目标元素满足预设显示场景。
136.可选地,加载模块210包括:等待子模块。
137.等待子模块,用于当所述电子设备加载所述显示界面时,在预设等待时长内对所述显示界面上所加载出的目标元素进行检测。
138.可选地,测试模块240包括:功能点驱动子模块以及测试子模块。
139.功能点驱动子模块,用于在所述目标显示界面上确定多个功能点;
140.测试子模块,用于加载所述测试用例,并依据所述测试用例对所述多个功能点进行测试。
141.可选地,测试子模块包括:第一时长获取子模块、第二时长获取子模块、目标功能点确定子模块以及目标功能点测试子模块。
142.第一时长获取子模块,用于获取第一时长,其中,第一时长为所述显示界面当前加载出目标元素的时长;
143.第二时长获取子模块,用于根据预设等待时长和所述第一时长之差,获得第二时长,所述预设等待时长为对所述目标显示界面的测试时长;
144.目标功能点确定子模块,用于根据所述第二时长从所述多个功能点中确定目标功能点;
145.目标功能点测试子模块,用于加载所述测试用例,并依据所述测试用例对所述目标功能点进行测试。
146.可选地,目标功能点确定子模块包括:目标数量确定子模块以及目标功能点。
147.目标数量确定子模块,用于基于第二预设映射关系,获取所述第二时长对应的数量,作为目标数量,其中,所述第二预设映射关系包括多个第二时长和多个数量之间的对应关系,所述多个第二时长和所述多个数量之间一一对应;
148.目标功能点确定子模块,用于从所述多个功能点中选择所述目标数量的功能点,作为所述目标功能点。
149.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
150.在本技术所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它
形式的耦合。
151.另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
152.图7是本技术实施例的用于执行根据本技术实施例的显示界面测试方法的电子设备的框图,请参阅图7,其示出了本技术实施例提供的一种电子设备110的结构框图。该电子设备110可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本技术中的电子设备110可以包括一个或多个如下部件:处理器111、存储器112以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器112中并被配置为由一个或多个处理器111执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
153.其中,处理器111可以包括一个或者多个处理核。处理器111利用各种接口和线路连接整个电子设备110内的各个部分,通过运行或执行存储在存储器112内的指令、程序、代码集或指令集,以及调用存储在存储器112内的数据,执行电子设备110的各种功能和处理数据。可选地,处理器111可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器111可集成中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责待显示组件的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器111中,单独通过一块通信芯片进行实现。
154.存储器112可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。存储器112可用于存储指令、程序、代码、代码集或指令集。存储器112可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备110在使用中所创建的数据(比如历史配置文件)等。
155.图8示出了本技术实施例的用于保存或者携带实现根据本技术实施例的显示界面测试方法的程序代码的存储单元,请参阅图8,其示出了本技术实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
156.计算机可读存储介质300可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
157.可选地,本技术实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法。
158.综上所述,本技术提供了一种显示界面测试方法、装置、电子设备及存储介质,当
电子设备加载显示界面时,对显示界面上加载出的目标元素进行检测,并且获取显示界面上当前加载出的目标元素,当当前加载的目标元素满足预设显示场景时,将加载有目标元素的显示界面确定为目标显示界面,在确保目标显示界面成功加载后,再加载测试用例,并依据测试用例对目标显示界面进行测试,保证测试用例能够成功测试目标显示界面。
159.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种显示界面测试方法,其特征在于,应用于电子设备,所述方法包括:在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述当前加载出的目标元素不满足预设显示场景的情况下,返回执行所述对所述显示界面上所加载出的目标元素进行检测的步骤,直至在预设获取次数内重新获取的目标元素与预设元素匹配的情况下,确定重新获取的目标元素满足所述预设显示场景,并将所述显示界面确定为所述目标显示界面,所述预设获取次数为返回执行所述对所述显示界面上所加载出的目标元素进行检测的步骤的次数。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述电子设备的当前网络状态;基于所述当前网络状态确定所述预设获取次数,其中,当前网络状态优于预设网络状态时确定的预设获取次数,大于所述预设网络状态优于当前网络状态时确定的预设获取次数。4.根据权利要求2所述的方法,其特征在于,所述在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面,包括:获取所述当前加载出的目标元素在所述显示界面上的显示位置;根据第一预设映射关系,获取所述显示位置对应的预设元素,所述第一预设映射关系包括多个显示位置和多个预设元素之间的对应关系,其中,一个所述显示位置和一个所述预设元素对应;在所述目标元素与预设元素匹配的情况下,确定所述当前加载出的目标元素满足预设显示场景。5.根据权利要求1所述的方法,其特征在于,所述加载测试用例,并依据所述测试用例对所述目标显示界面进行测试,包括:在所述目标显示界面上确定多个功能点;加载所述测试用例,并依据所述测试用例对所述多个功能点进行测试。6.根据权利要求5所述的方法,其特征在于,所述加载所述测试用例,并依据所述测试用例对所述多个功能点进行测试,包括:获取第一时长,其中,所述第一时长为所述显示界面当前加载出目标元素的时长;根据预设等待时长和所述第一时长之差,获得第二时长,所述预设等待时长为对所述目标显示界面的测试时长;根据所述第二时长从所述多个功能点中确定目标功能点;加载所述测试用例,并依据所述测试用例对所述目标功能点进行测试。7.根据权利要求6所述的方法,其特征在于,所述根据所述第二时长从所述多个功能点中确定目标功能点,包括:
基于第二预设映射关系,获取所述第二时长对应的目标数量,所述第二预设映射关系包括多种第二时长和多种数量之间的对应关系,其中,一种所述第二时长和一种所述数量对应;从所述多个功能点中选择所述目标数量的功能点确定为目标功能点。8.一种显示界面测试装置,其特征在于,应用于电子设备,所述装置包括:加载模块,用于在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;获取模块,用于在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;确定模块,用于在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;测试模块,用于加载测试用例,并依据所述测试用例对所述目标显示界面进行测试。9.一种电子设备,其特征在于,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-7任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-7任一项所述的方法。11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的方法。

技术总结
本申请公开了一种显示界面测试方法、装置、电子设备及存储介质,涉及显示界面测试技术领域,在所述电子设备加载显示界面的情况下,对所述显示界面上所加载出的目标元素进行检测;在检测到所述目标元素的情况下,获取所述显示界面上当前加载出的目标元素;在所述当前加载出的目标元素满足预设显示场景的情况下,将所述显示界面确定为目标显示界面;加载测试用例,并依据所述测试用例对所述目标显示界面进行测试,保证测试用例能够成功测试目标显示界面。显示界面。显示界面。


技术研发人员:周俊 蒋宁 罗仕杰 赵飞 吴海英
受保护的技术使用者:马上消费金融股份有限公司
技术研发日:2022.03.14
技术公布日:2022/7/4
转载请注明原文地址: https://www.8miu.com/read-17982.html

最新回复(0)