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

页面测试方法、装置及电子设备与流程

2021-10-27 14:24:00 来源:中国专利 TAG:页面 计算机 测试 电子设备 说明书


1.本说明书实施例涉及计算机技术领域,更具体的,涉及页面测试方法、页面测试装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,可以通过测试用例对应用页面进行自动化测试,该应用页面也即为应用的用户界面(userinterface,ui),测试用例中通过指定的元素标识表示作为测试对象的页面元素,该指定的元素标识例如是所标识的页面元素的类class、标识号id或者文本text等属性信息,这样,在执行测试用例以进行该应用页面的自动化测试时,便可通过该测试用例中记录的元素标识在应用页面中定位到对应的页面元素,并进而针对定位到的该页面元素执行测试用例中记录的对应操作。
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.响应于测试目标页面的操作,获取对应所述目标页面的测试用例及对应所述测试用例的关联信息;
42.其中,所述测试用例包括表示作为操作对象的页面元素的元素标识、及对于所述页面元素的操作事项,所述关联信息包括所述元素标识与所述元素标识所标记的页面元素的其他标识间的映射关系;
43.根据获取到的所述测试用例及所述关联信息,测试所述目标页面。
44.根据本说明书的第四方面,还提供了页面测试装置的一个实施例,该装置包括:
45.异常定位模块,用于在执行测试用例出现设定测试异常的情况下,在所述测试用例中获取导致所述测试异常的元素标识作为异常标识,其中,所述设定测试异常为无法根据所述测试用例中记录的元素标识在目标页面上定位到对应的页面元素的异常情况;
46.关联分析模块,用于查找与所述异常标识相关联的其他标识;
47.异常处理模块,用于根据所述其他标识在所述目标页面上定位对应的页面元素;以及,
48.测试执行模块,用于根据定位到的页面元素执行所述测试用例。
49.根据本说明书的第五方面,还提供了电子设备的一个实施例,该电子设备包括根据以上第四方面的页面测试装置;或者,该电子设备包括存储器和处理器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据以上第一方面、第二方面或者第三方面的页面测试方法。
50.根据本说明书的第四方面,还提供了计算机可读存储介质的一个实施例,该介质存储有可执行指令,所述可执行指令被处理器执行时,执行以上第一方面、第二方面或者第三方面所述的方法。
51.在一个实施例中,该页面测试方法在根据测试用例进行目标页面的测试时,如果出现根据测试用例中的一元素标识无法唯一定位到目标页面上的一个确定的页面元素的异常情况时,将触发查找该元素标识的关联信息,以获得与该元素标识相关联的其他标识的关联分析,以通过关联信息中的其他标识唯一定位到目标页面上的一个确定的页面元素,进而自动解决该异常问题,以使得该测试能够继续执行。通过该实施例的方法,可以在出现该异常情况时主动解决该异常问题,而无需人工干预,提高了测试效率并降低了测试成本。
52.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
53.被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
54.图1是可用于实现一个实施例的页面测试方法的应用场景示意图;
55.图2是可用于实施一个实施例的页面测试方法的电子设备的硬件结构示意图;
56.图3是根据一个实施例的页面测试方法的流程示意图;
57.图4是根据另一个实施例的页面测试方法的流程示意图;
58.图5是根据又一个实施例的页面测试方法的流程示意图;
59.图6是根据一个实施例的页面测试装置的原理框图;
60.图7是根据一个实施例的电子设备的原理框图。
具体实施方式
61.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
62.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
63.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
64.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
65.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
66.技术人员可以通过如图1所示的终端设备1000a设计应用页面,在设计得到一个应用版本之后,技术人员可以对设计得到的应用页面进行测试,测试通常可以分不同的测试场景进行,以电商应用为例,可以设置登录场景、选购场景、支付场景、退货场景等等。针对任意测试场景,技术人员在通过操作相关页面元素执行该测试场景时,安装在终端设备1000a上的测试应用可以记录技术人员在执行该测试场景时的所有操作,包括每一操作的操作事项及每一操作的操作对象,例如,其中一个操作为“单击”确认按键,则将记录该操作的操作事项为“单击按键”及该操作的操作对象为文字标识为“确认”的按键元素,其中,该操作对象通过提取对应页面元素的一个元素标识来表示,例如,通过提取对应页面元素的类class、标识号id或者文本text等属性来表示,这样,便生成了对应该测试场景的测试用例。
67.该测试用例可以保存在终端设备1000a的本地,也可以保存在与终端设备1000a通信连接的服务器1000b上,该服务器1000b可以是本地服务器,也可以是远程服务器,还可以是云服务器,在此不做限定。
68.在生成测试用例之后,便可以通过执行该测试用例来进行应用页面的自动化测试,测试方式为:根据任意测试场景下的测试用例记录的第一步操作的操作事项及操作对象,在应用页面上唯一定位相匹配的页面元素,并根据第一步的操作事项操作定位到的该页面元素,以自动执行该测试场景的第一步测试操作,以此类推,继续根据该测试用例记录的后面操作执行对应的测试操作。
69.由于通过测试用例进行的自动化测试,要求能够根据测试用例中记录的表示操作对象的元素标识唯一定位到应用页面上的对应页面元素,这样才能保证整个测试的顺利执行。因此,如果技术人员在后期修改了应用页面的页面元素,例如,添加了新的页面元素和/或修改了页面元素在测试用例中的元素标识,则在执行测试用例时,将很可能出现根据测试用例中记录的表示操作对象的元素标识无法唯一定位到应用页面上的对应页面元素的情况,进而出现无法定位到应用页面上的任何页面元素的测试异常,或者出现定位到至少
两个与该元素标识相匹配的页面元素而无法确定唯一的操作对象的测试异常。
70.基于该种异常情况,本实施例提供了一种页面测试方法,该方法在测试出现该种异常情况时,可以启动关联分析,通过关联分析在对应出现测试异常的测试步骤的关联信息中,查找与测试用例中表示该测试步骤的操作对象的元素标识相关联的其他标识,并根据该其他标识在应用页面中唯一定位对应的页面元素,以通过多维标识实现该唯一定位,这样,便能够在该测试步骤出现异常时,通过关联分析顺利执行该测试步骤,进而保证整个自动化测试的顺利执行,而无需在出现测试异常时通过人工干预进行测试用例和/或应用页面的调整。
71.例如,测试用例中的一个测试步骤为在如图1所示的数据列表页面,点击文本标识为“删除”的按键,由于在生成该测试用例时,该数据列表页面只有一条数据data.xxc1,也即只有一个文本标识为“删除”的按键,因此,在生成该测试用例时,通过将文本标识作为元素标识来表示该步骤的操作对象,可以唯一定位到该页面上的对应页面元素。但在执行该测试用例时,在该测试步骤,该数据列表页面具有两条数据data.xxc1和data.xxc2,每条数据均具有一个文本标识为“删除”的按键,因此,测试应用在该测试步骤将无法根据测试用例中的元素标识,唯一定位到该页面上的对应页面元素,进而在该测试步骤出现测试异常。根据本实施例的方法,在此时,可以启动关联分析,通过关联分析查找对应该测试步骤的关联信息中记录的其他标识,即,数据data.xxc1的“删除”按键的其他标识,该其他标识可以包括数据data.xxc1的“删除”按键的类class标识、标识号id、上下文信息中的至少一项,其中,测试应用可以在生成测试用例时同步记录每一操作步骤中操作对象的关联信息,以根据查找到的其他标识在该页面上唯一定位到对应的“删除”按键,并针对定位到的页面元素执行测试用例中记录的“点击”操作,进而准确执行删除数据data.xxc1的测试步骤。
72.本实施例中,该关联分析可以在运行应用的终端设备1000a上实施,也可以在与终端设备1000a通信连接的其他设备,例如服务器1000b上实施,在此不做限定。
73.<硬件设备>
74.图2示出了能够用于实施一个实施例的页面测试方法的电子设备的硬件结构示意图。该电子设备可以是如图1所示的终端设备1000a,也可以是其他设备,例如是与运行目标应用的终端设备通信连接的其他设备,该其他设备可以是服务器等,在此不做限定。
75.图1中的终端设备1000a可以是pc机、笔记本电脑、平板电脑等设备。
76.图1中的服务器1000b是提供处理、数据库、通讯设施的站点。服务器1000b可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,网络服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交互服务器,数据库服务器,或代理服务器。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
77.在一个实施例中,如图2所示,该电子设备1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400、显示装置1500、输入装置1600、扬声器1700、麦克风1800等等。
78.处理器1100用于执行程序指令,该程序指令可以采用比如x86、arm、risc、mips、
sse等架构的指令集。存储器1200例如包括rom(只读存储器)、ram(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括usb接口、耳机接口等。通信装置1400例如能够进行有线或无线通信。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘等。扬声器1700用于输出语音信息。麦克风1800用于采集语音信息。
79.该实施例中,电子设备1000的存储器1200用于存储指令,该指令用于控制处理器1100进行操作以至少执行根据任意实施例的页面测试方法。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
80.尽管在图2中示出了电子设备1000的多个装置,但是,本说明书的实施例也可以仅涉及其中的部分装置,例如,电子设备1000只涉及存储器1200、处理器1100等,在此不做限定。
81.<方法实施例>
82.图3是根据一个实施例的页面测试方法的流程示意图,该方法可以由运行目标应用的终端设备实施,例如由图1所示的终端设备1000a实施,也可以由与终端设备通信连接的其他设备实施,例如由图1中的服务器1000b实施,在此不做限定。本实施例中,该目标应用为待进行页面测试的应用,该目标应用的页面即为待测试的目标页面,如图3所示,本实施例的页面测试方法可以包括如下步骤s3100~s3400:
83.步骤s3100,在执行测试用例出现设定测试异常的情况下,在该测试用例中获取导致该测试异常的元素标识作为异常标识。
84.本实施例中,该设定测试异常为无法根据测试用例中记录的元素标识在目标页面上唯一定位到对应的页面元素的异常情况。
85.在测试用例中,对于任意作为操作对象的页面元素,均通过该页面元素的一种元素标识进行表示,例如通过该页面元素的类class标识、标识号id或者文本text来表示。
86.本实施例中,在执行测试用例出现设定测试异常的情况下,可以先确定出现该测试异常的测试步骤,并获取在该操作步骤中用于表示该操作步骤的操作对象的元素标识,作为该异常标识。
87.步骤s3200,查找与该异常标识相关联的其他标识。
88.本实施例中,该异常标识及与该异常标识相关联的其他标识均用于标识同一个页面元素。
89.本实施例中,其他标识可以记录在该测试用例的关联信息中。对应地,该步骤s3200中,可以在该测试用例的关联信息中,查找与该异常标识相关联的其他标识。
90.该关联信息建立了测试用例中记录的元素标识和与测试用例中记录的元素标识相关联的其他标识间的映射关系。这样,在出现设定测试异常的情况下,就可以通过查找该测试用例的关联信息,来获得与该异常标识相关联的其他标识。
91.该其他标识可以包括所标识的页面元素的属性信息和上下文信息中的至少一项。
92.该属性信息可以包括类class、标识号id、文本text、标签tag、选择器selector、类型type、及节点类型nodetype中的至少一种。
93.该上下文信息可以包括所标识的页面元素的父元素节点的属性信息、兄弟元素节点的属性信息、子元素节点的属性信息等中的至少一种。
按键的类class、标识号id等属性信息,还可以包括该“删除”按键的上下文信息。在查找到其他标识之后,可以先根据其他标识中的类class、标识号id等属性信息,在应用页面上定位对应的页面元素,如果两条数据data.xxc1和data.xxc2的“删除”按键的类class相同,且标识号id被修改,则仍然会出现根据该其他标识中的属性信息也无法在该页面上唯一定位到对应的页面元素的问题,此时,可以进一步根据其他标识中的上下文信息,例如父元素节点信息,在该页面上进行父元素节点的匹配,当数据data.xxc1的“删除”按键的父元素节点信息与其他标识中的父元素节点信息一致,且数据data.xxc2的“删除”按键的父元素节点信息与其他标识中的父元素节点信息不一致时,即可准确定位到数据data.xxc1的“删除”按键为该操作步骤中的操作对象。这样,便可针对定位到的到数据data.xxc1的“删除”按键执行测试用例中记录的“点击”操作,进而准确执行删除数据data.xxc1的测试步骤。
103.由于操作对象的属性信息相对上下文信息,具有能够快速定位到对应的页面元素的优势,因此,在该实施例中,在根据其他标识在目标页面上定位对应的页面元素时,可以先根据其他标识中的属性信息进行该定位,并在根据该属性信息也无法完成该定位的情况下,再结合上下文信息进行该定位。
104.步骤s3400,根据定位到的页面元素执行该测试用例。
105.本实施例中,根据定位到的页面元素执行该测试用例也即为,针对定位到的页面元素,执行测试用例中记录的对应的测试操作。
106.继续上述的测试对象是文本标识为“确定”的按键元素的例子,在根据该其他标识在目标应用的目标页面上准确定位到该按键元素之后,便可以针对定位到的该按键元素,执行测试用例中记录的“点击”操作,而无需人工干预解决无法根据测试用例中记录的元素标识无法在目标页面上定位到该按键元素的测试异常问题,进而使得该操作步骤能够顺利执行,这样,便可以在执行完该操作步骤后,继续执行后续的操作步骤,以通过执行测试用例完成整个自动化测试。
107.根据以上步骤s3100~s3400可知,本实施例的方法在根据测试用例进行目标页面的测试时,如果出现根据测试用例中的一元素标识无法唯一定位到目标页面上的一个确定的页面元素的测试异常时,将触发查找该元素标识的关联信息的关联分析,以通过关联分析获得与该元素标识相关联的其他标识,并通过关联信息中的其他标识唯一定位到目标页面上的一个确定的页面元素,进而自动解决该异常问题,以使得该测试能够继续执行。通过该实施例的方法,可以在出现该异常情况时主动解决该异常问题,而无需人工干预,提高了测试效率并降低了测试成本。
108.在一个实施例中,测试用例是通过操作目标页面生成的,因此,不同的应用对应不同的测试用例。该实施例中,该目标页面可以对应一个测试用例,也可以对应多个测试用例,其中,一个测试用例对应一个测试场景。该实施例中,该方法在以上步骤s3100之前,还可以包括如下步骤s3011~s3014:
109.步骤s3011,响应于测试目标页面的操作,提供输入测试场景的输入接口。
110.该输入接口可以包括输入框、勾选项和下拉列表中至少一种形式的接口。
111.在一个实施例中,该方法还可以包括,在提供的输入接口中展示对应该目标页面的具有测试用例的所有测试场景,这样,技术人员通过直接选择所需的测试场景,便可完成输入测试场景的操作。
112.步骤s3012,获取通过该输入接口输入的测试场景。
113.步骤s3013,在该目标页面的测试用例中,查找对应该输入的测试场景的测试用例。
114.步骤s3014,执行查找到的该测试用例。
115.根据以上步骤s3011~s3014可知,本实施例的方法允许用户根据测试需要选择需要测试的测试场景,提高了测试的灵活性。
116.在一个实施例中,该方法在自动解决测试异常的情况下,还可以自动修正测试用例,以尽可能地避免在下一次的测试中仍然出现同样的测试异常,进而提供后续测试的测试效率。
117.该实施例中,该方法还可以包括如下步骤:根据定位到的对应页面元素的准确标识,修正该测试用例中的该异常标识。
118.该实施例中,根据定位到的对应页面元素的准确标识,修正该测试用例中的该异常标识可以包括:将该异常标识修正为定位到该对应的页面元素的其他标识。
119.继续上述的测试对象是文本标识为“确定”的按键元素的例子,在根据文本标识“确定”在目标页面上无法定位到对应的页面元素时,启动关联分析,通过与该文本标识“确定”相关联的其他标识中的标识号id在目标页面上定位到了对应的页面元素,则可以自动将测试用例中的用文本标识“确定”表示的页面元素修正为用该标识号id进行表示。
120.该实施例中,根据定位到的对应页面元素的准确标识,修正该测试用例中的该异常标识也可以包括:将该测试用例中的该异常标识修正为正确的元素标识,其中,该正确的元素标识与该异常标识为相同属性的标识。
121.仍然继续上述的测试对象是文本标识为“确定”的按键元素的例子,在生成测试用例之后,该按键元素的文本标识被修改为“确认”,这时,在测试中,根据文本标识“确定”将无法在目标页面上定位到对应的页面元素,此时会启动关联分析,通过与该文本标识“确定”相关联的其他标识中的标识号id在目标页面上定位到了对应的页面元素,并获取该对应的页面元素的文本标识应该为“确认”,而不是“确定”,进而可以自动将测试用例中的用文本标识“确定”表示的页面元素修正为用文本标识“确认”表示,其中,“确定”与“确认”都属于文本标识。
122.在一个实施例中,还可以在自动完成该修正之后,通知用户已对测试用例进行了修正,以使得用户能够及时掌握测试用例的修正情况。
123.该实施例中,该方法还可以包括如下步骤:在完成上述修正之后,返回修正通知。
124.该实施例中,可以向执行该测试用例的账户发送该修正通知,以向用户返回修正通知。
125.该修正通知可以包括修正内容。
126.在一个实施例中,可以允许用户选择是否开启自动修正功能,以在用户允许的情况下,再执行上述实施例中的自动修正操作。该实施例中,该方法还可以包括如下步骤s3511~s3512:
127.步骤s3511,检测是否开启自动修正功能。
128.该实施例中,该检测是否开启自动修正功能可以包括:检测自动修正的功能设置项是否处于开启状态,如是,则确认已开启自动修正功能,否则确认未开启自动修正功能。
129.步骤s3512,在开启该自动修正功能的情况下,执行根据定位到的对应页面元素的准确标识,修正该测试用例中的该异常标识的操作。
130.在一个实施例中,该方法还可以包括预先生成测试用例的关联信息的步骤,以在步骤s3200中,能够根据该关联信息查找与该异常标识相关联的其他标识。
131.该实施例中,生成测试用例的关联信息可以包括如下步骤:在录制操作目标页面上的页面元素以生成该测试用例的过程中,对于作为操作对象的每一页面元素,记录在该测试用例中用于表示对应页面元素的元素标识与对应页面元素的其他标识间的映射关系,形成该关联信息。
132.例如,技术人员在操作目标页面时,其中一个操作步骤为在目标页面上点击文本标识为“确定”的按键元素,此时,测试用例将录制该操作步骤,并记录该操作步骤对应的操作对象的文本标识为“确定”,该操作步骤对应的测试操作为“点击”,与此同时,测试应用获取该按键元素的其他标识,例如获取该按键元素的类class、标识号、上下文信息等等,并在该测试用例的关联信息中,建立获取到的其他标识与文本标识“确定”间的映射关系。
133.图4示出了根据一个实施例的页面测试方法的流程示意图。该方法可以由运行目标应用的终端设备实施,例如由图1所示的终端设备1000a实施,也可以由与终端设备通信连接的其他设备实施,例如由图1中的服务器1000b实施,在此不做限定。
134.如图4所示,该实施例的页面测试方法可以包括如下步骤s4100~s4300:
135.步骤s4100,录制对目标页面上的页面元素进行的操作,生成测试用例,其中,该测试用例包括表示作为操作对象的页面元素的元素标识、及对于该页面元素的操作事项。
136.该实施例中,任意应用场景的测试用例,可以通过录制测试人员对目标页面上的页面元素执行的操作生成。
137.由于该测试用例包括所录制的每一步操作,及每一步操作涉及的页面元素的元素标识和在该步操作中对于所涉及的页面元素的操作事项,因此,通过调用该测试用例,便可自动针对该目标页面执行相应应用场景的自动化测试。
138.步骤s4200,对于作为操作对象的页面元素,记录在测试用例中用于表示对应页面元素的元素标识与对应页面元素的其他标识间的映射关系,生成关联信息。
139.该实施例中,在录制测试用例的过程中,还同时记录该映射关系,以获得与该测试用例相对应的关联信息。
140.该测试用例和关联信息可以保存在终端设备的本地,也可以保存在与该终端设备建立通信连接的其他设备上,在此不做限定。
141.该其他标识可以包括所标识的页面元素的属性信息和上下文信息中的至少一项。
142.该属性信息可以包括类class、标识号id、文本text、标签tag、选择器selector、类型type、及节点类型nodetype中的至少一种。
143.该上下文信息可以包括所标识的页面元素的父元素节点的属性信息、兄弟元素节点的属性信息、子元素节点的属性信息等中的至少一种。
144.步骤s4300,根据该关联信息,执行测试用例。
145.该步骤s4300中根据该关联信息执行测试用例可以包括如下步骤s4310~s4330:
146.步骤s4310,在执行该测试用例出现设定测试异常的情况下,在测试用例中获取导致该测试异常的元素标识作为异常标识,其中,该设定测试异常为无法根据该测试用例中
记录的元素标识在目标页面上定位到对应的页面元素的异常情况。
147.步骤s4320,在所述关联信息中查找与该异常标识相关联的其他标识。
148.步骤s4330,根据该其他标识,在目标页面上定位对应的页面元素。
149.步骤s4340,根据定位到的页面元素执行该测试用例。
150.根据以上步骤s4100~s4300可知,本实施例的方法在根据测试用例进行目标页面的测试时,在出现根据测试用例中的一元素标识无法唯一定位到目标页面上的一个确定的页面元素的测试异常时,可以通过对应该测试用例的关联信息,查找与该元素标识相关联的其他标识,并通过关联信息中的其他标识唯一定位到目标页面上的一个确定的页面元素,进而自动解决该异常问题,以使得该测试能够继续执行。
151.图5示出了根据又一个实施例的页面测试方法的流程示意图。该方法可以由运行目标应用的终端设备实施,例如由图1所示的终端设备1000a实施,也可以由与终端设备通信连接的其他设备实施,例如由图1中的服务器1000b实施,在此不做限定。
152.如图5所示,该实施例的页面测试方法可以包括如下步骤s5100~s5300:
153.步骤s5100,响应于测试目标页面的操作,获取对应该目标页面的测试用例及对应该测试用例的关联信息。
154.该实施例中,该测试用例包括表示作为操作对象的页面元素的元素标识、及对于所述页面元素的操作事项。
155.该实施例中,该关联信息包括测试用例中记录的元素标识与该元素标识所标记的页面元素的其他标识间的映射关系。
156.步骤s5200,根据获取到的该测试用例及该关联信息,测试目标页面。
157.该步骤s5200中根据获取到的该测试用例及该关联信息,测试目标页面可以包括如下步骤s5210~s5230:
158.步骤s5210,在执行该测试用例以测试该目标页面的过程中,如果出现设定测试异常,在测试用例中获取导致该测试异常的元素标识作为异常标识,其中,该设定测试异常为无法根据该测试用例中记录的元素标识在目标页面上定位到对应的页面元素的异常情况。
159.步骤s5220,在该关联信息中查找与该异常标识相关联的其他标识。
160.步骤s5230,根据该其他标识,在目标页面上定位对应的页面元素。
161.步骤s5340,根据定位到的页面元素执行该测试用例,以继续测试该目标页面。
162.根据以上步骤s5100~s5200可知,本实施例的方法在根据测试用例进行目标页面的测试时,在出现根据测试用例中的一元素标识无法唯一定位到目标页面上的一个确定的页面元素的测试异常时,可以通过对应该测试用例的关联信息,查找与该元素标识相关联的其他标识,并通过关联信息中的其他标识唯一定位到目标页面上的一个确定的页面元素,进而自动解决该异常问题,以使得该测试能够继续执行。
163.以上各方法实施例侧重说明各方法实施例的不同之处,对于不同实施例的相同或者相似的步骤,可以相互参见而不再进行追溯。
164.<装置实施例>
165.在本实施例中,还提供一种页面测试装置,如图6所示,该页面测试装置6000包括异常定位模块6100、关联分析模块6200、异常处理模块6300和测试执行模块6400。
166.该异常定位模块6100用于在执行测试用例出现设定测试异常的情况下,在所述测
试用例中获取导致所述测试异常的元素标识作为异常标识,其中,所述设定测试异常为无法根据所述测试用例中记录的元素标识在目标页面上定位到对应的页面元素的异常情况。
167.该关联分析模块6200用于查找与所述异常标识相关联的其他标识。
168.该异常处理模块6300用于根据所述其他标识在所述目标页面上定位对应的页面元素。
169.该测试执行模块6400用于根据定位到的页面元素执行所述测试用例。
170.在一个实施例中,该其他标识可以包括所标识的页面元素的属性信息和所标识的页面元素的上下文信息中的至少一项。
171.在一个实施例中,该关联分析模块6200在查找与所述异常标识相关联的其他标识时,可以用于:在对应所述测试用例的关联信息中,查找与所述异常标识相关联的其他标识;其中,所述关联信息反映所述测试用例中记录的元素标识与其他标识间的映射关系。
172.在一个实施例中,该装置6000还可以包括关联信息生成模块,该关联信息生成模块用于获得该关联信息。该关联信息生成模块在获取该关联信息时,可以用于:在录制操作所述目标页面上的页面元素以生成所述测试用例的过程中,对于作为操作对象的每一页面元素,记录在所述测试用例中用于表示对应页面元素的元素标识与所述对应页面元素的其他标识间的映射关系,形成所述关联信息。
173.在一个实施例中,该装置6000还可以包括关联信息获取模块,该关联信息获取模块可以用于:在执行测试用例出现设定测试异常的情况下,请求服务器提供所述关联信息。
174.在一个实施例中,该其他标识包括所标识的页面元素的属性信息和上下文信息,该异常处理模块6300在根据所述其他标识在所述目标页面上定位对应的页面元素时,可以用于:根据所述属性信息在所述目标页面上定位对应的页面元素;以及,在根据所述属性信息定位失败的情况下,再根据所述上下文信息在所述目标页面上定位对应的页面元素。
175.在一个实施例中,该装置6000还可以包括测试设置模块。该测试设置模块可以用于:响应于测试所述目标页面的操作,提供输入测试场景的输入接口;获取通过所述输入接口输入的测试场景;在所述目标页面的测试用例中,查找对应所述输入的测试场景的测试用例;以及,执行查找到的所述测试用例。
176.在一个实施例中,该装置6000还可以包括异常修正模块,该异常修正模块可以用于:根据所述定位到的页面元素的准确标识,修正所述测试用例中的所述异常标识。
177.在一个实施例中,该异常修正模块在根据所述定位到的页面元素的准确标识,修正所述测试用例中的所述异常标识时,可以用于:将所述测试用例中的所述异常标识修正为相同属性的正确元素标识;或者,将所述测试用例中的所述异常标识修正为定位到所述对应的页面元素的其他标识。
178.在一个实施例中,该异常修正模块还可以用于:在完成所述修正之后,返回修正通知。
179.在一个实施例中,该装置6000还可以包括功能设置模块,该功能设置模块可以用于:检测是否开启自动修正功能;以及,在开启所述自动修正功能的情况下,执行所述根据所述定位到的页面元素的准确标识,修正所述测试用例中的所述异常标识的操作。
180.<设备实施例>
181.在一个实施例中,还提供了一种电子设备7000,如图7所示,该电子设备7000可以
包括根据任意实施例的页面测试装置6000。
182.在另一个实施例中,该电子设备7000可以包括存储器和处理器,该存储器用于存储指令,该指令用于控制所述处理器进行操作以执行根据以上任意实施例的页面测试方法。
183.以上页面测试装置6000的各模块可以由电子设备7000的处理器实现。
184.该电子设备可以例如可以是如图1所示的终端设备1000a,也可以是能够实施根据任意实施例的页面测试方法的其他设备,例如是与终端设备1000a通信连接的服务器1000b等,在此不做限定。
185.<介质实施例>
186.本实施例提供一种计算机可读存储介质,该存储介质中存储有可执行命令,该可执行命令被处理器执行时,执行本说明书任意方法实施例中描述的页面测试方法。
187.本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
188.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
189.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
190.用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可
编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
191.这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
192.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
193.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
194.附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
195.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜