一种画面识别测试方法技术

技术编号:37984138 阅读:7 留言:0更新日期:2023-06-30 09:59
本发明专利技术涉及软件测试技术领域,具体涉及一种画面识别测试方法,包括画面录制阶段以及画面测试阶段;画面录制阶段包括:A1:根据窗口属性确认窗口为录制窗口;A2:根据控件属性确认控件为录制控件;A3:基于录制控件对当前的测试动作进行录制;画面测试阶段包括:B1:根据窗口属性查找测试窗口;B2:根据控件属性查找测试控件;B3:以测试控件为对象,执行测试动作。本发明专利技术的有益效果在于:通过在录制阶段获取目标窗口的窗口属性以及目标控件的控件属性,有效识别出测试动作所对应的目标控件,在实际测试过程中根据记录到的窗口属性和控件属性获取到待测试控件,避免了现有技术中无法在多个窗口中辨认出实际需要测试的控件的问题,提高测试效率。测试效率。测试效率。

【技术实现步骤摘要】
一种画面识别测试方法


[0001]本专利技术涉及软件测试
,具体涉及一种画面识别测试方法。

技术介绍

[0002]代码测试,指通过一系列的测试用例来验证代码能够正确地实施特定功能的活动。通常情况下,代码测试贯穿于整个软件产品的整个生命周期,在开发、运维等环节中均具有较为重要的地位。按照测试对象的不同,可分为性能测试、安全测试、兼容性测试、业务测试、界面测试等。其中,界面测试指的是对软件的软件界面部分进行测试,以判断用户在通过软件界面对软件进行控制时是否能够实现预期的功能。
[0003]现有技术中,已存在有通过相应的计算机程序录制测试动作,并通过类似脚本、按键模拟等方法对软件界面进行测试的技术方案。比如,通过会话ID、句柄等方式对待测试的窗口进行识别,并对窗口中的控件执行测试动作从而获得测试结果。但是,在实际实施过程中,专利技术人发现,现有技术中的软件界面,在使用过程中往往会发生多个窗口间的切换动作。该类切换动作会导致软件当前选择的软件窗口发生偏移,进而无法对实际需要测试的窗口进行准确定位,造成测试动作无法正常进行。

技术实现思路

[0004]针对现有技术中存在的上述问题,现提供一种画面识别测试方法。
[0005]具体技术方案如下:
[0006]一种画面识别测试方法,包括一画面录制阶段以及一画面测试阶段,于执行所述画面测试阶段之前,预先执行所述画面录制阶段;
[0007]所述画面录制阶段中,针对单个测试动作,具体执行以下步骤:
[0008]步骤A1:针对一操作动作,获取所述操作动作所指向的对象窗口的当前窗口属性,当所述当前窗口属性表明所述对象窗口为录制所需的录制窗口时,转向步骤A2;
[0009]所述操作动作为用户通过输入设备输入的操作动作和/或通过脚本程序模拟的操作动作;
[0010]步骤A2:根据所述操作动作所指向的操作控件的当前控件属性确认所述操作控件为录制所需的录制控件,随后转向步骤A3;
[0011]步骤A3:于所述录制窗口中,基于所述录制控件对当前的所述测试动作进行录制以形成对应的录制操作;
[0012]则所述画面录制阶段中,循环执行所述步骤A1

A3,以对每个所述测试动作进行画面录制,并记录对应于所述测试动作的录制窗口属性和录制控件属性;
[0013]所述画面测试阶段中,针对单个所述测试动作,具体执行以下步骤:
[0014]步骤B1:根据所述录制窗口属性在当前的显示界面中重新查找到对应于所述录制窗口的测试窗口;
[0015]步骤B2:根据所述录制控件属性在所述测试窗口中查找到当前的所述测试动作所
对应的测试控件;
[0016]步骤B3:以查找到的所述测试窗口中的所述测试控件为对象执行所述测试动作;
[0017]则所述画面测试阶段中,循环执行所述步骤B1

B3,以执行每个在所述画面录制阶段被预先录制的所述测试动作。
[0018]优选地,预先设置多个不同优先级的过滤窗口名单,每一优先级的所述过滤窗口名单中分别记载有多个不同的所述标准窗口属性;
[0019]所述标准窗口属性包括:窗口的程序文件名、窗口的类、窗口的标题,和窗口的位置尺寸信息;
[0020]所述步骤A1包括:
[0021]步骤A11:当发生所述操作动作时,获取所述操作动作所指向的所述对象窗口,针对所述对象窗口采集多个所述当前窗口属性;
[0022]所述当前窗口属性包括:所述对象窗口的程序文件名、所述对象窗口的类、所述对象窗口的标题,和所述对象窗口的位置尺寸信息;
[0023]步骤A12:获取最高优先级的过滤窗口名单,以作为窗口判断依据;
[0024]步骤A13:根据所述窗口判断依据,对至少一个所述当前窗口属性进行判断,以确认所述操作动作指向的所述对象窗口是否为所述录制窗口;
[0025]若是,转向所述步骤A2;
[0026]若否,则转向步骤A14;
[0027]步骤A14:将下一个优先级的所述过滤窗口名单作为所述窗口判断依据,并返回所述步骤A13,直至遍历所有的多个优先级的所述过滤窗口名单后,确认所述操作动作指向的所述对象窗口不是所述录制窗口,将当前的所述操作动作判断为无效动作,退出对当前的所述操作动作的录制,等待下一个所述操作动作。
[0028]优选地,每一个优先级的所述过滤窗口名单分别包括:过滤窗口白名单、过滤窗口黑名单以及录制窗口名单;
[0029]所述录制窗口名单中记录有所述录制窗口的所述标准窗口属性,所述过滤窗口黑名单中记录有待屏蔽窗口的所述标准窗口属性,所述过滤窗口白名单中记录有当前优先级中的有效窗口的所述标准窗口属性;
[0030]于同一个优先级中,所述过滤窗口白名单的优先程度高于所述过滤窗口黑名单;
[0031]则每一次执行所述步骤A13时,根据所述窗口判断依据,对至少一个所述当前窗口属性进行判断的方法包括:
[0032]步骤A131:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述过滤窗口白名单中的所述标准窗口属性进行比较;
[0033]当比较结果表明所述对象窗口在当前优先级的所述过滤窗口白名单中时,表明所述对象窗口是所述录制窗口,转向所述步骤A2;
[0034]当比较结果表明所述对象窗口不在当前优先级的所述过滤窗口白名单中时,转向步骤A132;
[0035]步骤A132:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述过滤窗口黑名单中的所述标准窗口属性进行比较;
[0036]当比较结果表明所述对象窗口在当前优先级的所述过滤窗口黑名单中时,表明所
述对象窗口不是所述录制窗口,转向所述步骤A14;
[0037]当比较结果表明所述对象窗口不在当前优先级的所述过滤窗口黑名单中时,转向步骤A133;
[0038]步骤A133:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述录制窗口名单中的所述标准窗口属性进行比较;
[0039]当比较结果表明所述对象窗口在当前优先级的所述录制窗口名单中时,表明所述对象窗口是所述录制窗口,转向所述步骤A2;
[0040]当比较结果表明所述对象窗口不在当前优先级的录制窗口名单中时,表明所述对象窗口不是所述录制窗口,转向所述步骤A14。
[0041]优选地,预先设置有多个不同优先级的过滤控件名单,每一优先级的所述过滤控件名单中分别记载有多个不同的所述标准控件属性;
[0042]所述标准控件属性包括:控件的类型、控件的标题、控件的位置尺寸信息;
[0043]则所述步骤A2包括:
[0044]步骤A21:于所述对象窗口中,针对所述操作动作指向的对象控件采集多个所述当前控件属性,以及,获取最高优先级的所述过滤控件名单,以作为控件判断依据;
[0045]所述当前控件属性包括:所述对象控件的类型,所述对象控件的标题,所述对象控件的位置尺本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种画面识别测试方法,其特征在于,包括一画面录制阶段以及一画面测试阶段,于执行所述画面测试阶段之前,预先执行所述画面录制阶段;所述画面录制阶段中,针对单个测试动作,具体执行以下步骤:步骤A1:针对一操作动作,获取所述操作动作所指向的对象窗口的当前窗口属性,当所述当前窗口属性表明所述对象窗口为录制所需的录制窗口时,转向步骤A2;所述操作动作为用户通过输入设备输入的操作动作和/或通过脚本程序模拟的操作动作;步骤A2:根据所述操作动作所指向的操作控件的当前控件属性确认所述操作控件为录制所需的录制控件,随后转向步骤A3;步骤A3:于所述录制窗口中,基于所述录制控件对当前的所述测试动作进行录制以形成对应的录制操作;则所述画面录制阶段中,循环执行所述步骤A1

A3,以对每个所述测试动作进行画面录制,并记录对应于所述测试动作的录制窗口属性和录制控件属性;所述画面测试阶段中,针对单个所述测试动作,具体执行以下步骤:步骤B1:根据所述录制窗口属性在当前的显示界面中重新查找到对应于所述录制窗口的测试窗口;步骤B2:根据所述录制控件属性在所述测试窗口中查找到当前的所述测试动作所对应的测试控件;步骤B3:以查找到的所述测试窗口中的所述测试控件为对象执行所述测试动作;则所述画面测试阶段中,循环执行所述步骤B1

B3,以执行每个在所述画面录制阶段被预先录制的所述测试动作。2.根据权利要求1所述的测试方法,其特征在于,预先设置多个不同优先级的过滤窗口名单,每一优先级的所述过滤窗口名单中分别记载有多个不同的所述标准窗口属性;所述标准窗口属性包括:窗口的程序文件名、窗口的类、窗口的标题,和窗口的位置尺寸信息;所述步骤A1包括:步骤A11:当发生所述操作动作时,获取所述操作动作所指向的所述对象窗口,针对所述对象窗口采集多个所述当前窗口属性;所述当前窗口属性包括:所述对象窗口的程序文件名、所述对象窗口的类、所述对象窗口的标题,和所述对象窗口的位置尺寸信息;步骤A12:获取最高优先级的过滤窗口名单,以作为窗口判断依据;步骤A13:根据所述窗口判断依据,对至少一个所述当前窗口属性进行判断,以确认所述操作动作指向的所述对象窗口是否为所述录制窗口;若是,转向所述步骤A2;若否,则转向步骤A14;步骤A14:将下一个优先级的所述过滤窗口名单作为所述窗口判断依据,并返回所述步骤A13,直至遍历所有的多个优先级的所述过滤窗口名单后,确认所述操作动作指向的所述对象窗口不是所述录制窗口,将当前的所述操作动作判断为无效动作,退出对当前的所述操作动作的录制,等待下一个所述操作动作。
3.根据权利要求2所述的测试方法,其特征在于,每一个优先级的所述过滤窗口名单分别包括:过滤窗口白名单、过滤窗口黑名单以及录制窗口名单;所述录制窗口名单中记录有所述录制窗口的所述标准窗口属性,所述过滤窗口黑名单中记录有待屏蔽窗口的所述标准窗口属性,所述过滤窗口白名单中记录有当前优先级中的有效窗口的所述标准窗口属性;于同一个优先级中,所述过滤窗口白名单的优先程度高于所述过滤窗口黑名单;则每一次执行所述步骤A13时,根据所述窗口判断依据,对至少一个所述当前窗口属性进行判断的方法包括:步骤A131:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述过滤窗口白名单中的所述标准窗口属性进行比较;当比较结果表明所述对象窗口在当前优先级的所述过滤窗口白名单中时,表明所述对象窗口是所述录制窗口,转向所述步骤A2;当比较结果表明所述对象窗口不在当前优先级的所述过滤窗口白名单中时,转向步骤A132;步骤A132:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述过滤窗口黑名单中的所述标准窗口属性进行比较;当比较结果表明所述对象窗口在当前优先级的所述过滤窗口黑名单中时,表明所述对象窗口不是所述录制窗口,转向所述步骤A14;当比较结果表明所述对象窗口不在当前优先级的所述过滤窗口黑名单中时,转向步骤A133;步骤A133:将所述对象窗口的所有所述当前窗口属性与当前优先级的所述录制窗口名单中的所述标准窗口属性进行比较;当比较结果表明所述对象窗口在当前优先级的所述录制窗口名单中时,表明所述对象窗口是所述录制窗口,转向所述步骤A2;当比较结果表明所述对象窗口不在当前优先级的录制窗口名单中时,表明所述对象窗口不是所述录制窗口,转向所述步骤A14。4.根据权利要求1所述的测试方法,其特征在于,预先设置有多个不同优先级的过滤控件名单,每一优先级的所述过滤控件名单中分别记载有多个不同的所述标准控件属性;所述标准控件属性包括:控件的类型、控件的标题、控件的位置尺寸信息;则所述步骤A2包括:步骤A21:于所述对象窗口中,针对所述操作动作指向的对象控件采集多个所述当前控件属性,以及,获取最高优先级的所述过滤控件名单,以作为控件判断依据;所述当前控件属性包括:所述对象控件的类型,所述对象控件的标题,所述对象控件的位置尺寸信息;步骤A22:根...

【专利技术属性】
技术研发人员:张亨凌孙健许芳勤陈立森
申请(专利权)人:上海合福信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1