页面元素的测试方法、装置、设备及介质与流程

文档序号:32669028发布日期:2022-12-24 01:56阅读:62来源:国知局
页面元素的测试方法、装置、设备及介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种页面元素的测试方法、装置、设备及介质。


背景技术:

2.在进行自动化测试时,需要得知页面中的各个元素,以对各个元素进行测试操作。在现有技术中,相同类别的元素对应的元素标识是相同的,因此无法通过元素标识区分相同类别的元素,进而导致无法完成元素的测试。
3.为了解决上述问题,现有技术采用为相同类别的元素添加多个额外的属性的方式来区分相同类别的元素。该方式虽能完成元素的测试,但给开发人员和测试人员均带来了开发负担,使得整个开发项目周期变长,工作效率变低,并且最终得到的执行文件也出现了数据冗余的问题。


技术实现要素:

4.本公开提供一种页面元素的测试方法、装置、设备及介质,用以解决现有技术中在进行自动化测试时,出现的项目周期长、工作效率低等缺陷,实现各个元素的精准定位和快速的完成自动化测试。
5.本公开提供一种页面元素的测试方法,包括:
6.确定当前待测试元素;
7.确定所述当前待测试元素在待测试页面中的第一位置;
8.基于所述第一位置,对所述当前待测试元素进行模拟测试操作,得到测试结果;
9.在确定所述测试结果和预设结果一致的情况下,确定下一待测试元素,并将所述下一待测试元素作为新的所述当前待测试元素,直至所述待测试页面中的待测试元素测试完成。
10.根据本公开提供的一种页面元素的测试方法,所述基于所述第一位置,对所述当前待测试元素进行模拟测试操作,包括:
11.获取操作控件在所述待测试页面中的第二位置;
12.控制所述操作控件从所述第二位置移动至所述第一位置;
13.控制所述操作控件对所述当前待测试元素进行模拟测试操作。
14.根据本公开提供的一种页面元素的测试方法,所述控制所述操作控件对所述当前待测试元素进行模拟测试操作,包括:
15.确定所述当前待测试元素对应的点击时长;
16.控制所述操作控件作用于所述待测试元素,并在所述点击时长之后,控制所述操作控件离开所述第一位置。
17.根据本公开提供的一种页面元素的测试方法,所述确定当前待测试元素,包括:
18.获取待测试脚本;
19.基于预先设置的测试逻辑,从所述待测试脚本中确定所述当前待测试元素。
20.根据本公开提供的一种页面元素的测试方法,所述确定所述当前待测试元素在待测试页面中的第一位置之前,还包括:
21.获取预先设置的所述待测试页面对应的坐标原点,以及所述当前待测试元素的坐标信息;
22.所述确定所述当前待测试元素在待测试页面中的第一位置,包括:
23.基于所述坐标原点和所述坐标信息,确定所述当前待测试元素在所述待测试页面中的所述第一位置。
24.根据本公开提供的一种页面元素的测试方法,所述待测试页面包括:第一子页面和第二子页面;
25.所述确定所述当前待测试元素在待测试页面中的第一位置,包括:
26.判断所述第一子页面中是否包括所述当前待测试元素;
27.在判定所述第一子页面中包括所述当前待测试元素的情况下,基于所述坐标原点和所述坐标信息,确定所述当前待测试元素在所述第一子页面中的所述第一位置;
28.在判定所述第一子页面中不包括所述当前待测试元素的情况下,进入第二子页面,基于所述坐标原点和所述坐标信息,确定所述当前待测试元素在所述第二子页面中的所述第一位置。
29.根据本公开提供的一种页面元素的测试方法,所述确定当前待测试元素之前,还包括:
30.获取所述待测试页面对应的屏幕的分辨率;
31.基于所述屏幕的分辨率,确定所述待测试元素在所述待测试页面中。
32.本公开还提供一种页面元素的测试装置,包括:
33.第一确定模块,用于确定当前待测试元素;
34.第二确定模块,用于确定所述当前待测试元素在待测试页面中的第一位置;
35.测试模块,用于基于所述第一位置,对所述当前待测试元素进行模拟测试操作,得到测试结果;
36.比对模块,用于在确定所述测试结果和预设结果一致的情况下,确定下一待测试元素,并将所述下一待测试元素作为新的所述当前待测试元素,直至所述待测试页面中的待测试元素测试完成。
37.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的页面元素的测试方法。
38.本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的页面元素的测试方法。
39.本公开提供的页面元素的测试方法、装置、设备及介质,通过确定当前待测试元素;确定当前待测试元素在待测试页面中的第一位置;基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果,可见,本公开通过确定当前待测试元素在待测试页面中的位置进行待测试元素的精准定位,无需考虑元素的类别,因此无需开发人员和测试人员通过增加代码量的方式来区分元素,减少了代码开发量,提高了工作效率,降低了项目周期;
并在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成,可见,本公开根据测试需求对待测试页面中的各个元素依次测试,以保证各个元素的可操作性和各个元素之间的联动性,实现了各个元素的精准定位和整个测试过程的稳定执行。
附图说明
40.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本公开提供的页面元素的测试方法的流程示意图之一;
42.图2是本公开提供的页面元素的测试方法的流程示意图之二;
43.图3是本公开提供的页面元素的测试装置的结构示意图;
44.图4是本公开提供的电子设备的结构示意图。
具体实施方式
45.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
46.下面结合图1-图2描述本公开实施例的页面元素的测试方法。
47.具体的,为了能够清楚的说明本公开的页面元素的测试方法,下面对应用场景进行具体说明:
48.在进行用户界面(ui)自动化测试时,一般会借助自动化测试工具,例如,selenium和appium等。其中,selenium是一个用于web应用程序测试的工具。selenium测试直接运行在浏览器中,就像真正的用户在操作一样,appium是一个用于移动平台上的自动化测试工具,其中,web为全球广域网也称万维网。
49.但当元素为动态元素或者利用文件样式的计算机语言(css)进行定位等情况时,selenium和appium会出现无法定位到元素的现象。
50.为了解决上述问题,引入了cypress,其中,cypress也是一种自动化测试工具。cypress提供了3个定位器,分别为data-cy、data-test、data-testid,即需要为每个元素添加这3个属性标签,以区分相同类别的元素。其中,data-cy、data-test、data-testid分别对应元素属性。虽然,cypress有专门的定位器,与元素的行为和元素的样式无关,即,css样式或javascript(js)行为不会影响测试的执行。其中,js为一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
51.虽然,cypress提供了比较准确的定位方式,但是需要开发人员和测试人员基于前端页面的开发协同规范进行设置,目的是使开发人员的开发代码和测试人员的测试代码用的定位器的属性值一致,以保证元素的准确定位。
52.但是该方式会造成时间成本的增加,开发人员和测试人员开发量的增加,并造成开发数据冗余,最终,导致整个项目周期耗时较长,工作效率较低的问题。并且,一旦出现开发人员和测试人员对于元素属性的命名定义不一致时,则无法定位到目标元素。
53.为了解决上述问题,本公开实施例提供了一种页面元素的测试方法,该方法可以应用在智能终端,例如,手机、电脑、平板等,也可以应用在服务器中。下面,以该方法应用在服务器为例进行说明,但需要说明的是仅为举例说明,并不用于对本公开的保护范围进行限定。本公开实施例中的一些其他说明,也是举例说明,并不用于对本公开的保护范围进行限定,之后便不再一一说明。具体实现如图1所示:
54.步骤101,确定当前待测试元素。
55.一个具体实施例中,预先确定进行测试的智能终端,获取该智能终端的屏幕的分辨率;基于屏幕的分辨率确定待测试元素显示在屏幕上,其中,智能终端的屏幕用于显示待测试页面。
56.例如,当智能终端为电脑时,待测试页面为电脑浏览器打开的页面(pc页面),获取该电脑的分辨率,以使所有待测试元素显示在电脑屏幕上。由于不同的电脑分辨率不同,因此需要基于待使用电脑的分辨率使所有的待测试元素在屏幕中显示出来。
57.又例如,当智能终端为手机时,待测试页面为手机浏览器打开的页面(手机页面)或者手机应用程序打开的页面,获取该手机的分辨率,以使所有待测试元素显示在手机屏幕上。由于不同的手机分辨率不同,因此需要基于待使用手机的分辨率使所有的待测试元素显示出来。
58.本公开保证待测试页面中的所有待测试元素均能够在屏幕中显示,以实现能够对每个元素的测试,避免出现有元素未通过测试的情况。
59.一个具体实施例中,测试人员预先编写测试脚本,将其上传至服务器中,得到待测试脚本。进而基于预先设置的测试逻辑,从待测试脚本中确定当前待测试元素。
60.其中,测试逻辑通过待测试脚本得到,待测试脚本中包括需要测试的所有待测试元素,每个待测试元素的测试方式以及各个待测试元素之间的联动关系。
61.例如,待测试页面为登录页面,登录页面包括3个待测试元素,分别为账号元素、密码元素和登录元素。该测试逻辑为:登录页面初始展示时,只显示账号元素和密码元素,并且只有账号元素为可编辑状态,在获取到填写的账号之后,验证账号是否有误,在确定账号无误的情况下,密码元素变为可编辑状态,在获取到填写的密码之后,验证密码是否有误,在确定密码无误的情况下,显示登录元素,获取基于登录元素生成的登录指令,完成登录测试操作。
62.本公开通过测试逻辑和待测试脚本依次确定当前待测试元素,保证了自动化测试的稳定运行。
63.步骤102,确定当前待测试元素在待测试页面中的第一位置。
64.一个具体实施例中,确定当前待测试元素在待测试页面中的第一位置之前,获取预先设置的待测试页面对应的坐标原点,以及当前待测试元素的坐标信息;进而,基于坐标原点和坐标信息,确定当前待测试元素在待测试页面中的第一位置。
65.具体的,坐标系的设置方式包括:绝对坐标设置方式、相对坐标设置方式和相对极坐标设置方式。
66.绝对坐标设置方式:以屏幕的任一点作为原点,即,参考点,来定位平面内的某一点的具体位置,具体通过a(x,y)表示。
67.其中,原点的设置可以为屏幕的左下角所在的位置、屏幕右下角所在的位置、屏幕的正中心所在的位置、等。
68.相对坐标设置方式:以当前点的上一点为参考点,来定位平面内某一点的具体位置,具体通过a(@

x,

y)表示。
69.其中,相对坐标设置方式需要设置第一个点的坐标,即初始点的坐标,初始点的坐标可以通过坐标原点的设置方式进行设置。
70.相对极坐标设置方式:以平面上的当前点相对于上一点的位移距离、方向及角度,来定位平面内某一点的具体位置,具体通过a(@d《α)表示。
71.其中,相对极坐标设置方式需要设置第一个点的坐标,即初始点的坐标,初始点的坐标可以通过坐标原点的设置方式进行设置。
72.其中,用户根据自己的实际情况从上述三种坐标系的设置方式中选择任意一种或多种进行使用即可。
73.本公开通过在屏幕中设置坐标系的方式,能够得到待测试元素在待测试页面中的具体位置,实现了待测试元素的准确定位。并且,通过设置坐标系确定待测试元素的具体位置的方式,无需开发人员和测试人员增加代码量,两者按照各自的习惯完成项目的开发即可,能够显著提高工作效率,缩短项目周期。
74.并且,通过在屏幕中设置坐标系的方式,无需考虑待测试元素是动态生成的元素还是相同类别的元素,仅根据待测试脚本中编码的待测试元素的坐标信息,从待测试页面中找到该待测试元素即可,有效的提高了待测试元素定位的准确性和测试效率,提高了元素定位的精准性。
75.当然,本公开更加坐标信息从待测试页面中确定与之对应的第一位置后,也不会盲目的执行模拟测试操作,需要判断第一位置处是否存在待测试元素对应的元素控件,在判定存在待测试元素对应的元素控制的情况下,执行模拟测试操作;在判定不存在待测试元素对应的元素控制的情况下,在第一位置的预设范围区间内判断是否存在待测试元素对应的元素控制,在判定存在待测试元素对应的元素控制的情况下,执行模拟测试操作;若是还没有,停止整个测试操作。
76.另外,当待测试页面不是全面屏,而存在导航栏的情况下,在计算第一位置时要去除导航栏高度对应的高度值。x、y指的是调试机型(屏幕分辨率)的实际坐标,可用于计算在不同屏幕分辨率手机的实际坐标。
77.对于更换不同的手机和/或更换浏览器,为了能够适应各个屏幕分辨率的具体实现如下所示:
78.默认情况下,如果屏幕不够大,无法显示应用程序所有的元素,则将应用程序缩放,并放在屏幕的中间。
79.具体的,cypress会将应用程序缩放并居中,以使cypress的交互式测试运行器(cypress test runner)中的缩放应用程序不会影响应用程序的任何计算或行为。其中,自动缩放好处为:无论屏幕大小如何,测试都始终通过或失败;测试最终在服务器中运行。因此,无论cypress在哪种智设备中运行,使得所有的视图(viewports)都将相同。具体可以通
过cy.viewport(preset,orientation,options)和cy.viewport(width,height,options)来解决缩放并居中的问题。
80.其中,cy.viewport为cypress封装的方法,作用为控制浏览器窗口的尺寸和方向。其中,preset为预设值,orientation为屏幕的方向,options为必选参数,width为屏幕宽度,height为屏幕高度。
81.一个具体实施例中,待测试页面包括:第一子页面和第二子页面;对于待测试页面为第一子页面时,或待测试页面为通过第一子页面和第二子页面组成的页面时,确定当前待测试元素在待测试页面中的第一位置的具体实现如下所示:
82.判断第一子页面中是否包括当前待测试元素;在判定第一子页面中包括当前待测试元素的情况下,基于坐标原点和坐标信息,确定当前待测试元素在第一子页面中的第一位置;在判定第一子页面中不包括当前待测试元素的情况下,进入第二子页面,基于坐标原点和坐标信息,确定当前待测试元素在第二子页面中的第一位置。
83.具体的,以用户的角度对待测试页面进行说明更为形象,待测试页面为第一子页面时,即用户通过屏幕可以看到待测试页面中的所有待测试元素,此时的待测试元素包括通过联动才能够显示的待测试元素(也可以简单理解为待测试页面无滚动条);待测试页面为通过第一子页面和第二子页面组成的页面时,为用户通过屏幕不能够看到待测试页面中的所有元素,需要滑动待测试页面的滚动条,才能看到更多的待测试元素(也可以简单理解为待测试页面存在滚动条)。
84.具体的,判断待测试页面是否存在滚动条,若是存在,确定当前待测试元素在待测试页面中的第一位置,否则,判断第一子页面中是否包括当前待测试元素;在判定第一子页面中包括当前待测试元素的情况下,基于坐标原点和坐标信息,确定当前待测试元素在第一子页面中的第一位置;在判定第一子页面中不包括当前待测试元素的情况下,控制操作控件滑动滚动条,进入第二子页面,基于坐标原点和坐标信息,确定当前待测试元素在第二子页面中的第一位置。
85.其中,滚动条的滑动长度和滑动位置在待测试脚本中均有设置。
86.其中,操作控件包括鼠标。
87.本公开针对待测试页面是否存在滚动条,设置第一位置的确定逻辑,能够更快速和更准确的定位到待测试元素。
88.步骤103,基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果。
89.一个具体实施例中,确定到待测试元素的第一位置之后,获取操作控件在待测试页面中的第二位置;控制操作控件从第二位置移动至第一位置;控制操作控件对当前待测试元素进行模拟测试操作。
90.其中,不同的待测试元素对应不同的模拟测试操作。
91.例如,账号元素对应的模拟测试操作包括:账号输入操作和账号验证操作;密码元素对应的模拟测试操作包括:密码输入操作和密码验证操作;登录元素对应的模拟测试操作包括:点击操作和登录指令验证操作;等。
92.一个具体实施例中,为了实现当前待测试元素的测试,确定当前待测试元素对应的点击时长;控制操作控件作用于待测试元素,并在点击时长之后,控制操作控件离开第一位置。
93.其中,点击时长在待测试搅拌中均有设置。
94.本公开对待测试元素的测试均为自动化测试,利用平面图上两条线交叉确定一个点的方式确定第一位置,然后通过模拟用户行为和鼠标行为的方式,进行待测试元素的输入、点击等操作,完成待测试元素的测试,整个测试过程无需人为参与,节省了人工成本,提高了测试效率。
95.步骤104,在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成。
96.具体的,在每个待测试元素测试完成后,比对测试结果和预设结果的一致性,在确定测试结果和预设结果一致的情况下,确定下一待测试元素,确定下一待测试元素在待测试页面中的第一位置,基于第一位置,对下一待测试元素进行模拟测试操作,得到测试结果,依次类推,迭代执行,直至待测试页面中所有待测试元素测试完成。
97.在确定测试结果和预设结果不一致的情况下,停止测试操作。
98.本公开通过根据待测试脚本依次对每个待测试元素进行模拟测试操作,以确保每个待测试元素功能正常,且各个待测试元素之间的联动关系联动正常,保证了待测试页面的功能正常。
99.下面,通过图2对本公开的页面元素的测试方法进行具体说明:
100.步骤201,确定当前屏幕的屏幕分辨率。
101.具体的,通过cypress封装的cy.viewport()方法,实现待测试页面在屏幕的缩放和居中处理。
102.步骤202,确定当前待测试元素的坐标信息以及点击时长。
103.步骤203,执行鼠标悬停在待测试页面上的鼠标悬停操作。
104.其中,鼠标悬停操作在待测试脚本中预先配置,为鼠标设置一个鼠标初始位置,悬停在待测试页面上。
105.步骤204,确定鼠标的第二位置。
106.其中,鼠标的第二位置包括:预先设置的初始位置和在测试过程中上一待测试元素对应的第一位置。
107.具体的,利用js原生的代码menu.style.left和menu.style.top进行页面的定位,由css样式表可知menu的position属性定位为absolute,style.top定位在代码中相对于离它最近的position属性值,且不为static的父辈元素。
108.其中,menu表示待测试页面,style.left表示待测试页面在屏幕的左部的位置,style.top表示待测试页面在屏幕的顶部的位置。
109.其中,css样式表预先设置,position表示预设的待测试页面在屏幕中的位置,absolute表示绝对定位,static表示无定位。
110.步骤205,控制鼠标从第二位置移动至第一位置。
111.其中,移动方式预先在测试脚本中配置。
112.具体的,待测试元素的第一位置需要根据页面布局的具体情况来判断选择e.offsetx/y或e.clientx/y或e.screenx/y或e.pagex/y一项或多项,另外,还需要考虑待测试页面是否存在滚动条,document.documentelement.scrolltop表示待测试页面存在滚动条,并能够获取滚动条纵坐标位置,进而基于获取的滚动条纵坐标位置调整滚动条。
113.其中,e.clientx/y表示鼠标相对于待测试页面左上角的坐标(此时不考虑滚动条),e.offsetx/y表示鼠标和待测试元素的坐标信息,e.screenx/y表示鼠标相对于屏幕左上角的坐标信息(此时不考虑滚动条),e.pagex/y表示鼠标相对于待测试页面左上角的坐标(此时考虑滚动条)。
114.步骤206,基于坐标信息和点击时长,执行鼠标点击事件。
115.具体的的,一个待测试元素的模拟测试操作(或者说鼠标点击事件)包括:鼠标按下事件和鼠标松开事件。其中,鼠标按下事件通过onmousedown表示,鼠标松开事件通过onmouseup表示。其中,onmousedown事件用于在鼠标按下时触发事件处理程序,onmouseup事件是在鼠标松开时执行事件处理程序。
116.其中,在执行鼠标点击事件时,会调用cypress封装的cy.locat()方法,
117.步骤207,重复执行步骤202-步骤206的操作,完成待测试元素的测试。
118.其中,本公开提及的鼠标均为鼠标指针。
119.本公开提供了一种无需开发人员和测试人员沟通的、可实现动态元素或相同类别的元素的元素定位方式,即,通过待测试页面中的两线交叉确定一个点的方式,确定待测试页面中的第一位置,无需改变开发人员和测试人员的开发习惯和开发方式,不增加代码,同时解决了现有的自动化测试定位不精确的问题,提高了定位的成功率,提高了开发效率。进而,模仿用户行为和模拟鼠标点击事件,点击待测试元素,实现待测试元素的测试,整个过程可操作性强,可使用性高,并且整个测试过程稳定性高,有效的提高了用户体验。
120.本公开提供的页面元素的测试方法,通过确定当前待测试元素;确定当前待测试元素在待测试页面中的第一位置;基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果,可见,本公开通过确定当前待测试元素在待测试页面中的位置进行待测试元素的精准定位,无需考虑元素的类别,因此无需开发人员和测试人员通过增加代码量的方式来区分元素,减少了代码开发量,提高了工作效率,降低了项目周期;并在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成,可见,本公开根据测试需求对待测试页面中的各个元素依次测试,以保证各个元素的可操作性和各个元素之间的联动性,实现了各个元素的精准定位和整个测试过程的稳定执行。
121.下面对本公开实施例提供的页面元素的测试装置进行描述,下文描述的页面元素的测试装置与上文描述的页面元素的测试方法可相互对应参照,重复之处,不再赘述,如图3所示,该装置包括:
122.第一确定模块301,用于确定当前待测试元素;
123.第二确定模块302,用于确定当前待测试元素在待测试页面中的第一位置;
124.测试模块303,用于基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果;
125.比对模块304,用于在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成。
126.一个具体实施例中,测试模块303,具体用于获取操作控件在待测试页面中的第二位置;控制操作控件从第二位置移动至第一位置;控制操作控件对当前待测试元素进行模
拟测试操作。
127.一个具体实施例中,测试模块303,具体用于确定当前待测试元素对应的点击时长;控制操作控件作用于待测试元素,并在点击时长之后,控制操作控件离开第一位置。
128.一个具体实施例中,第一确定模块301,具体用于获取待测试脚本;基于预先设置的测试逻辑,从待测试脚本中确定当前待测试元素。
129.一个具体实施例中,第二确定模块302,还用于获取预先设置的待测试页面对应的坐标原点,以及当前待测试元素的坐标信息;第二确定模块302,具体用于基于坐标原点和坐标信息,确定当前待测试元素在待测试页面中的第一位置。
130.一个具体实施例中,待测试页面包括:第一子页面和第二子页面;第二确定模块302,具体用于判断第一子页面中是否包括当前待测试元素;在判定第一子页面中包括当前待测试元素的情况下,基于坐标原点和坐标信息,确定当前待测试元素在第一子页面中的第一位置;在判定第一子页面中不包括当前待测试元素的情况下,进入第二子页面,基于坐标原点和坐标信息,确定当前待测试元素在第二子页面中的第一位置。
131.一个具体实施例中,第一确定模块301,还用于获取待测试页面对应的屏幕的分辨率;基于屏幕的分辨率,确定待测试元素在待测试页面中。
132.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(communications interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行页面元素的测试方法,该方法包括:确定当前待测试元素;确定当前待测试元素在待测试页面中的第一位置;基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果;在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成。
133.此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
134.另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的页面元素的测试方法,该方法包括:确定当前待测试元素;确定当前待测试元素在待测试页面中的第一位置;基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果;在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成。
135.又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程
序,该计算机程序被处理器执行时实现以执行上述各提供的页面元素的测试方法,该方法包括:确定当前待测试元素;确定当前待测试元素在待测试页面中的第一位置;基于第一位置,对当前待测试元素进行模拟测试操作,得到测试结果;在确定测试结果和预设结果一致的情况下,确定下一待测试元素,并将下一待测试元素作为新的当前待测试元素,直至待测试页面中的待测试元素测试完成。
136.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
137.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
138.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1