一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控件定位方法、装置、电子设备及可读存储介质与流程

2021-10-24 04:00:00 来源:中国专利 TAG:电子设备 控件 装置 可读 定位


1.本发明涉及软件测试技术领域,尤其涉及一种控件定位方法、装置、电子设备及可读存储介质。


背景技术:

2.移动端应用测试包括自动化测试和人工测试等。作为十大免费移动应用测试框架之一的appium是一个开源的、跨平台的自动化测试工具,支持开发人员在电脑端编写脚本控制移动端执行自动化测试用例。
3.在对移动端应用进行测试的时候需要对移动端应用的控件进行定位,当前对于控件的惯用定位方法是:通过数据线连接电脑与手机,利用电脑端的appium工具操控手机打开应用(app),在应用页面中根据控件的文本或相对位置对控件进行定位,进而对定位到的控件进行点击或者校验操作,完成自动化测试。
4.当需要点击或者校验的控件在应用中的位置和查找路径已知、且应用不会自动弹出弹窗时,可以使用上述方案操作。但是当控件被权限弹窗遮挡、控件位置无法预知时,此类方案无法正确定位到控件,进而无法实现自动化测试功能。


技术实现要素:

5.本发明提供一种控件定位方法、装置、电子设备及可读存储介质,用以解决现有技术中在控件定位过程中容易出现弹窗遮挡、当前页面控件定位失败率高的缺陷,实现对于控件的快速准确定位。
6.本发明提供一种控件定位方法,包括:基于预设弹窗信息库,判断应用界面是否存在弹窗;
7.响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位;
8.响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
9.根据本发明提供的一种控件定位方法,所述滑动所述应用界面包括:响应于滑动应用界面次数没有达到预设滑动次数,则滑动所述应用界面。
10.根据本发明提供的一种控件定位方法,所述控件方法还包括:所述方法还包括:响应于滑动应用界面次数达到预设滑动次数,则输出控件不存在的信息和/或输出所述应用界面的截屏信息。
11.根据本发明提供的一种控件定位方法,所述基于待定位控件文本执行控件定位,包括:基于待定位控件文本进行单次控件定位;在定位失败的情况下,重复执行所述单次控件定位,直至定位次数达到预设定位次数阈值。
12.根据本发明提供的一种控件定位方法,所述基于预设弹窗信息库,判断应用界面是否存在弹窗,具体包括:获取所述应用界面的控件信息,通过将所述控件信息与所述弹窗
信息库进行比对匹配,判断所述应用界面是否存在弹窗。
13.根据本发明提供的一种控件定位方法,所述滑动所述应用界面,包括:将所述应用界面滑动预设距离,所述预设距离与当前屏幕高度之比处于预设区间内。
14.根据本发明提供的一种控件定位方法,在所述判断应用界面是否存在弹窗后,所述控件定位方法还包括:若所述应用界面不存在所述弹窗,直接基于待定位控件文本执行控件定位。
15.本发明还提供一种控件定位装置,包括:弹窗判断模块,用于基于预设弹窗信息库,判断应用界面是否存在弹窗;控件定位模块,用于响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位;界面滑动模块,用于响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
16.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述控件定位方法的步骤。
17.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述控件定位方法的步骤。
18.本发明提供的一种控件定位方法、装置、电子设备及可读存储介质,通过基于预设弹窗信息库实现对于应用界面上弹窗的过滤,摆脱了控件定位过程中的弹窗干扰,同时通过滑动界面扩大了控件定位过程的定位范围,克服了因为应用界面固定所导致的控件定位成功率低的问题,基于以上过程实现了对于控件的快速准确定位。
附图说明
19.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是本发明提供的控件定位方法的流程示意图之一;
21.图2是本发明提供的控件定位方法的流程示意图之二;
22.图3是本发明提供的控件定位装置的结构示意图;
23.图4是本发明提供的电子设备的结构示意图;
具体实施方式
24.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.图1是本发明提供的控件定位方法的流程示意图之一,如图1所示,所述方法包括:
26.步骤s110,基于预设弹窗信息库,判断应用界面是否存在弹窗。
27.一款软件在完成程序编写后,往往需要进行软件测试,软件测试是确保软件质量的一个重要手段,基于此可以提高软件的可靠性与质量,而在软件测试过程中,对于软件中
的控件定位是实现后续所有测试的基础,属于软件测试中的关键步骤。在进行控件定位过程中,应用界面的弹窗会对控件定位产生干扰,例如造成对目标控件的遮挡,进而无法实现准确的控件定位过程。
28.基于此,步骤s110中进行弹窗判断流程,首先基于预设弹窗信息库,判断应用界面是否存在弹窗,所述预设弹窗信息库为包含有常见弹窗的信息的集合,常见弹窗的信息包括弹窗上的文字信息,例如“请关闭”、“关闭”、“点击关闭”等弹窗上带有的文字性指示信息,还包括弹窗自身的特征信息,例如“弹窗的面积”、“弹窗的出现位置”以及“弹窗的长宽比”;需要说明的是,此处弹窗信息库里包含的弹窗信息是可编辑的,即该弹窗信息库可以实现信息更新与补充;在完成对于应用界面的是否存在弹窗的判断后,同时跳转到下一个流程,即步骤s120所对应的控件定位流程。
29.步骤s120,响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位。
30.待定位控件文本是基于应用界面上待定位的控件预先获取的。如果应用界面存在弹窗,就对其进行关闭操作,并基于待定位控件文本执行控件定位,需要说明的是,控件文本是基于应用界面上的控件预先获取的。根据当前需定位的控件的不同,获取相应的待定位控件文本执行控件定位。
31.步骤s130,响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
32.在对软件的自动化测试过程中,当对待测软件的控件进行定位时,其应用界面往往是无法滑动的,即应用界面是固定不变的,而控件定位过程中应用界面的固定化会造成控件定位失败率高,输出定位结果错误等问题。步骤s130对应界面滑动流程。在步骤s130中,当进行控件定位时失败时,自动滑动应用界面,该滑动过程不需要人为干预,并重新跳转到步骤s110中的弹窗判断流程,即步骤s130中的界面滑动流程扩大了控件定位过程的定位范围,提高了控件定位的成功率。
33.本发明提供的控件定位方法,通过基于预设弹窗信息库实现对于应用界面上弹窗的过滤,摆脱了控件定位过程中的弹窗干扰,同时通过滑动界面扩大了控件定位过程的定位范围,克服了因为应用界面固定所导致的控件定位成功率低的问题,基于以上过程实现了对于控件的快速准确定位。
34.进一步地,本发明中所述滑动所述应用界面包括:响应于滑动应用界面次数没有达到预设滑动次数,则滑动所述应用界面。
35.在本发明中实际上通过滑动应用界面扩大了对于控件定位过程的定位范围,而每启动一次界面滑动流程,对于应用界面的定位范围也就扩大一次,而在实际控件定位过程中,若当前界面不存在待定位的控件,则无论滑动多少次均无法实现对于控件的定位。若持续执行滑动、控件定位的操作,将会极大地造成资源浪费。所以需要针对于界面滑动流程设置一个滑动次数的阈值,避免无效滑动。在本发明中设置一个预设滑动次数,作为滑动次数的阈值,即判断滑动应用界面次数是否达到预设滑动次数,若所述滑动应用界面次数没有达到预设滑动次数,则滑动所述应用界面,转到所述弹窗判断流程;若滑动应用界面次数达到预设滑动次数,则结束页面滑动流程,输出控件定位结果。
36.本发明提供的控件定位方法,通过设置预设滑动次数作为滑动次数的阈值,使得
在扩大控件定位范围,提升控件定位成功率的同时避免了无效界面滑动的产生,实现了流程效率的最大化,并避免了资源浪费。
37.进一步地,本发明中所述控件定位方法还包括:响应于滑动应用界面次数达到预设滑动次数,则输出控件不存在的信息和/或输出所述应用界面的截屏信息。
38.当滑动应用界面次数达到预设滑动次数时,结束页面滑动流程,输出控件定位结果;输出定位结果的方式可以包括以下三种:
39.①
输出控件不存在的信息;
40.②
输出应用界面的截屏;
41.③
输出控件不存在的信息和应用界面的截屏。
42.对于输出控件定位结果的以上三种类型,每一种都可以单独表达控件不存在的结果。
43.本发明提供的控件定位方法,通过对“控件不存在”定位结果的不同表达,丰富了定位结果的输出方式和输出内容,测试人员可以按需选择,完成对定位结果的获取。
44.进一步地,本发明中所述基于待定位控件文本执行控件定位,包括:基于待定位控件文本进行单次控件定位;在定位失败的情况下,重复执行所述单次控件定位,直至定位次数达到预设定位次数阈值。
45.在控件定位过程中,对于网络的连接质量要求较高,而在实际定位过程中,因为测试环境的限制可能会出现网络不稳定的情况,为了提高测试过程的可靠性,避免网络不稳定影响控件定位过程的正常进行。针对于步骤s120,即控件定位过程进行了进一步优化,具体可以为:基于待定位控件文本进行单次控件定位,当该单次控件定位失败时,等待两秒,然后重复进行单次控件定位,重复进行单次控件定位的重复次数可以预先设定,在本发明中设置一个预设定位次数阈值,即当单次控件定位次数达到预设定位次数阈值时,结束控件定位流程,并跳转到页面滑动流程。
46.本发明提供的控件定位方法,通过将步骤s120进行细化,在控件定位流程中内嵌一个可重复进行的单次控件定位过程,有效避免了因为网络不稳定对控件定位过程的影响,确保了控件定位过程的稳定性与可靠性。
47.进一步地,本发明中所述基于预设弹窗信息库,判断应用界面是否存在弹窗,包括:获取所述应用界面的控件信息,通过将所述控件信息与所述弹窗信息库进行比对匹配,判断所述应用界面是否存在弹窗。
48.控件是指对数据和方法的封装。控件可以有自己的属性和方法,其中属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能,所以弹窗本质上也是一种控件。如前所述,弹窗信息库是包含有常见弹窗的信息的集合,常见弹窗的信息包括弹窗上的文字信息,例如“请关闭”、“关闭”、“点击关闭”等弹窗上带有的文字性指示信息,还包括弹窗自身的特征信息,例如“弹窗的面积”、“弹窗的出现位置”以及“弹窗的长宽比”。在本发明中,首先获取应用界面的控件信息,然后将获取的控件信息与预设弹窗信息库中的信息进行比对匹配,如果匹配成功,说明应用界面存在弹窗;如果匹配失败,说明应用界面不存在弹窗。
49.本发明提供的控件定位方法,通过将获取的应用界面的控件信息与预设弹窗信息库中的信息进行比对匹配,来判断应用界面是否存在弹窗,实现了对于应用界面弹窗的精
准判断,进而有利于实现对于弹窗的过滤过程。
50.进一步地,本发明中所述滑动所述应用界面,包括:将所述应用界面滑动预设距离,所述预设距离与当前屏幕高度之比处于预设区间内。
51.在步骤s130中,对于应用界面进行滑动时,每对应用界面滑动一次,所对应的滑动距离h可以是固定的,而对于h值的大小是可以预先人为设定的,当h值设定过小时会造成控件定位过程的流程浪费;当h值设定过大时,又会导致控件定位效率明显降低。在经过多次试验后发现当滑动一次应用界面,将应用界面滑动的距离与当前屏幕高度之比处于(1/4,1)范围内时,具有较佳的控件定位效率。综合考虑效率和可用性的情况,可以将滑动距离设置为当前屏幕高度的1/2。
52.目前的使用习惯,移动终端等设备在显示应用界面时,初始显示的是应用界面最上面的部分,因此滑动时将应用界面向上滑动。如果初始显示的是应用界面最下面的部分,则滑动时将应用界面向下滑动。
53.本发明提供的控件定位方法,通过将应用界面滑动预设距离,预设距离与当前屏幕高度之比处于预设区间内,提高了控件定位效率。
54.进一步地,本发明中在所述判断应用界面是否存在弹窗后,所述方法还包括:若所述应用界面不存在所述弹窗,直接基于待定位控件文本执行控件定位。
55.本发明提供的控件定位方法,在明确应用界面不存在弹窗后,及时跳出弹窗判断流程,进入接下来的控件定位流程,避免了流程浪费,提高流程整体的流转效率。
56.图2是本发明提供的控件定位方法的流程示意图之二,如图2所示,首先配置弹窗信息库,预设定位次数阈值和滑动次数;其中弹窗信息库为包含有常见弹窗的信息的集合,常见弹窗的信息包括弹窗上的文字信息,例如“请关闭”、“关闭”、“点击关闭”等弹窗上带有的文字性指示信息,还包括弹窗自身的特征信息,例如“弹窗的面积”、“弹窗的出现位置”以及“弹窗的长宽比”。预设定位次数阈值和滑动次数可根据实际需求进行预先设定,预设定位次数阈值针对于重复进行单次控件定位的过程,而滑动次数针对于重复进行界面滑动的过程。
57.step1,判断应用界面是否存在弹窗,如果不存在弹窗,直接跳转到控件定位流程;如果存在弹窗,先将弹窗关闭后再跳转到控件定位流程。
58.step2,在控件定位流程中,基于待定位控件文本进行单次控件定位,判断控件定位是否成功,如果控件定位成功,输出定位成功信息;如果定位不成功,判断定位次数是否达到预设定位次数阈值,如果定位次数没有达到预设定位次数阈值,则继续基于待定位控件文本进行单次控件定位,并且每进行一次单次控件定位,则定位次数加一;如果定位次数达到预设定位次数阈值,则跳转到界面滑动流程。
59.step3,在界面滑动流程,判断滑动应用界面次数是否达到预设的滑动次数,如果滑动应用界面次数没有达到预设的滑动次数,将应用界面上滑当前屏幕的1/2并跳转到step1,继续进行控件定位过程,并且每进行一次界面滑动,则滑动应用界面次数加一;如果滑动应用界面次数达到预设的滑动次数,输出控件不存在的信息和/或应用界面截屏。
60.本发明提供的控件定位方法,通过基于预设弹窗信息库实现对于应用界面上弹窗的过滤,摆脱了控件定位过程中的弹窗干扰,同时通过滑动界面扩大了控件定位过程的定位范围,克服了因为应用界面固定所导致的控件定位成功率低的问题,基于以上过程实现
了对于控件的快速准确定位。
61.图3是本发明提供的一种控件定位装置的结构示意图。如图3所示,所述装置包括弹窗判断模块310、控件定位模块320及界面滑动模块330,其中:
62.弹窗判断模块310,用于基于预设弹窗信息库,判断应用界面是否存在弹窗;
63.控件定位模块320,用于响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位
64.界面滑动模块330,用于响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
65.本发明提供的控件定位装置,通过基于预设弹窗信息库实现对于应用界面上弹窗的过滤,摆脱了控件定位过程中的弹窗干扰,同时通过滑动界面扩大了控件定位过程的定位范围,克服了因为应用界面固定所导致的控件定位成功率低的问题,基于以上过程实现了对于控件的快速准确定位。
66.根据本发明提供的一种控件定位装置,所述界面滑动模块330在用于滑动所述应用界面时,用于:响应于滑动应用界面次数没有达到预设滑动次数,则滑动所述应用界面。
67.本发明提供的控件定位装置,通过设置预设滑动次数作为滑动次数的阈值,使得在扩大控件定位范围,提升控件定位成功率的同时避免了无效界面滑动的产生,实现了流程效率的最大化,并避免了资源浪费。
68.根据本发明提供的一种控件定位装置,所述控件定位装置还用于响应于滑动应用界面次数达到预设滑动次数,则输出控件不存在的信息和/或输出所述应用界面的截屏信息。
69.本发明提供的控件定位装置,通过对“控件不存在”定位结果的不同表达,丰富了定位结果的输出方式和输出内容,测试人员可以按需选择,完成对定位结果的获取。
70.根据本发明提供的一种控件定位装置,所述控件定位模块320在用于基于待定位控件文本执行控件定位时,用于:基于待定位控件文本进行单次控件定位;在定位失败的情况下,重复执行所述单次控件定位,直至定位次数达到预设定位次数阈值。
71.本发明提供的控件定位装置,通过将控件定位流程进行细化,在控件定位流程中内嵌一个可重复进行的单次控件定位过程,有效避免了因为网络不稳定对控件定位过程的影响,确保了控件定位过程的稳定性与可靠性。
72.根据本发明提供的一种控件定位装置,所述弹窗判断模块310在用于基于预设弹窗信息库,判断应用界面是否存在弹窗时,用于:获取所述应用界面的控件信息,通过将所述控件信息与所述弹窗信息库进行比对匹配,判断所述应用界面是否存在弹窗。
73.本发明提供的控件定位装置,通过将获取的应用界面的控件信息与预设弹窗信息库中的信息进行比对匹配,来判断应用界面是否存在弹窗,实现了对于应用界面弹窗的精准判断,进而有利于实现对于弹窗的过滤过程。
74.根据本发明提供的一种控件定位装置,所述界面滑动模块330在用于滑动所述应用界面时,具体用于:将所述应用界面滑动预设距离,所述预设距离与当前屏幕高度之比处于预设区间内。
75.本发明提供的控件定位装置,通过将应用界面滑动预设距离,预设距离与当前屏幕高度之比处于预设区间内,提高了控件定位效率。
76.根据本发明提供的一种控件定位装置,所述弹窗判断模块310在判断应用界面是否存在弹窗后,还用于若所述应用界面不存在所述弹窗,直接触发控件定位模块320基于待定位控件文本执行控件定位。
77.本发明提供的控件定位装置,通过在明确应用界面不存在弹窗后,及时跳出弹窗判断流程,进入接下来的控件定位流程,避免了流程浪费,提高流程整体的流转效率。
78.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行控件定位方法,该方法包括:基于预设弹窗信息库,判断应用界面是否存在弹窗;响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位;响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
79.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
80.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的控件定位方法,该方法包括:基于预设弹窗信息库,判断应用界面是否存在弹窗;响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位;响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
81.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的控件定位方法,该方法包括:基于预设弹窗信息库,判断应用界面是否存在弹窗;响应于所述应用界面存在所述弹窗,则关闭所述弹窗,并基于待定位控件文本执行控件定位;响应于执行所述控件定位失败,则滑动所述应用界面,并继续执行所述判断应用界面是否存在弹窗。
82.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
83.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
84.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜