测试用例的元素定位方法、装置、计算机设备及介质制造方法及图纸

技术编号:35603911 阅读:16 留言:0更新日期:2022-11-16 15:25
本申请适用于自动化测试技术领域,尤其涉及一种测试用例的元素定位方法、装置、计算机设备及介质。该方法根据预设的元素路径生成规则,对测试用例生成页面元素路径,在检测到页面元素路径被触发时选中至少两个页面元素时将页面元素路径拆分为两个子路径,检测使用第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素,在疑似元素对应的页面范围内,使用第二子路径查询得到面积不为零的页面元素为目标元素,若使用页面元素路径选中的所有页面元素在页面中的位置与目标元素在页面中的位置存在相同位置的情况,则确定目标元素为页面元素路径所定位的元素,从而准确地实现目标元素的定位,提高测试用例执行通过率。过率。过率。

【技术实现步骤摘要】
测试用例的元素定位方法、装置、计算机设备及介质


[0001]本申请适用于自动化测试
,尤其涉及一种测试用例的元素定位方法、装置、计算机设备及介质。

技术介绍

[0002]目前,在录制界面(User Interface,UI)自动化测试用例时,需要选取测试步骤需要操作的页面元素,记录其“元素路径”。此步骤通常在使用自动化测试框架时可以自动生成,生成的元素路径一般为XPath绝对路径,即包含从根元素html到目标页面元素的所有层级,并且每一层级若存在多个同类型的元素,将会记录其在该层级的顺序,但往往在页面功能发生变化时其层级及顺序也会发生改变。由于页面中有部分元素是根据用户操作动态生成的,比如在弹窗中展示一个选择器,这类元素下文统称为“动态元素”,该动态元素的绝对路径通常在某个层级的顺序通常会与录制时的顺序不一致,如果想规避路径变化对用例执行成功率带来的影响,一般需要在前端业务代码中增加ID选择器,以实现元素的定位,但这种方法对业务代码有一定的侵入性,也增加了用例录制的调试成本,另一种方法是在识别到可能为动态元素的内容时,优先使用class选择器,实现动态元素的定位,但使用class选择器可能选中多个页面元素,最终导致执行时无法选中正确的元素,需要重新录制测试用例。为了减少测试脚本的维护成本,测试人员一般需要有一定的自动化测试经验或前端知识,才能通过人工识别元素路径是否可靠。因此,如何排除无关的元素,实现元素的准确定位成为亟待解决的问题。

技术实现思路

[0003]有鉴于此,本申请实施例提供了一种测试用例的元素定位方法、装置、计算机设备及介质,以解决如何排除无关的元素,实现元素的准确定位问题。
[0004]第一方面,本申请实施例提供一种测试用例的元素定位方法,所述元素定位方法包括:
[0005]根据预设的元素路径生成规则,对所述测试用例生成页面元素路径,检测所述页面元素路径被触发时是否选中至少两个页面元素;
[0006]若检测到所述页面元素路径被触发时选中至少两个页面元素,则将所述页面元素路径拆分为第一子路径和第二子路径,所述第一子路径被触发时至少选中所有页面元素中处于最外层页面的页面元素,所述第二子路径被触发时选中除所述第一子路径被触发时选中的页面元素以外的所有页面元素;
[0007]检测使用所述第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素,在所述疑似元素对应的页面范围内,使用所述第二子路径查询得到面积不为零的页面元素为目标元素;
[0008]将使用所述页面元素路径选中的所有页面元素在页面中的位置分别与所述目标元素在页面中的位置进行比较,若比较结果为存在相同位置的情况,则确定所述目标元素
为所述页面元素路径所定位的元素。
[0009]在一实施方式中,根据预设的元素路径生成规则,对所述测试用例生成页面元素路径包括:
[0010]检测所述测试用例中所包含页面元素的元素特征;
[0011]若检测到所述元素特征为第一特征,则使用ID选择器生成对应页面元素的页面元素路径;
[0012]若检测到所述元素特征为第二特征,则使用class选择器生成对应页面元素的页面元素路径。
[0013]在一实施方式中,在检测所述测试用例中所包含页面元素的元素特征之后,还包括:
[0014]若检测到所述元素特征为文本节点特征且对应元素内容不为空,则记录对应页面元素的内容,根据所述元素特征的内容生成查询文本内容的文本选择器;
[0015]使用所述文本选择器,生成对应页面元素的页面元素路径。
[0016]在一实施方式中,将使用所述页面元素路径选中的所有页面元素在页面中的位置分别与所述目标元素在页面中的位置进行比较包括:
[0017]使用比较文档位置类方法,将所述页面元素路径选中的所有页面元素依次与所述目标元素进行位置比较;
[0018]确定位置比较结果,所述位置比较结果包括位置相同、前后关系和包含关系。
[0019]在一实施方式中,检测使用所述第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素包括:
[0020]获取使用所述第一子路径查询得到页面元素在页面内的长度、宽度或者高度;
[0021]检测长度、宽度或者高度是否存在为零的项,若存在为零的项,则确定对应页面元素的面积为零,否则,确定对应页面元素为疑似元素。
[0022]在一实施方式中,将所述页面元素路径拆分为第一子路径和第二子路径包括:
[0023]提取所述页面元素路径对应的所有页面元素所在页面的层级,确定层级为最外层的页面元素;
[0024]从所述页面元素路径中截取层级为最外层的页面元素对应的路径为第一子路径,从所述页面元素路径中截取剩余的页面元素对应的路径均作为第二子路径。
[0025]第二方面,本申请实施例提供一种测试用例的元素定位装置,所述元素定位装置包括:
[0026]路径检测模块,用于根据预设的元素路径生成规则,对所述测试用例生成页面元素路径,检测所述页面元素路径被触发时是否选中至少两个页面元素;
[0027]路径拆分模块,用于若检测到所述页面元素路径被触发时选中至少两个页面元素,则将所述页面元素路径拆分为第一子路径和第二子路径,所述第一子路径被触发时至少选中所有页面元素中处于最外层页面的页面元素,所述第二子路径被触发时选中除所述第一子路径被触发时选中的页面元素以外的所有页面元素;
[0028]目标元素确定模块,用于检测使用所述第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素,在所述疑似元素对应的页面范围内,使用所述第二子路径查询得到面积不为零的页面元素为目标元素;
[0029]定位确定模块,用于将使用所述页面元素路径选中的所有页面元素在页面中的位置分别与所述目标元素在页面中的位置进行比较,若比较结果为存在相同位置的情况,则确定所述目标元素为所述页面元素路径所定位的元素。
[0030]在一实施方式中,所述路径检测模块包括:
[0031]元素特征检测单元,用于检测所述测试用例中所包含页面元素的元素特征;
[0032]第一路径生成单元,用于若检测到所述元素特征为第一特征,则使用ID选择器生成对应页面元素的页面元素路径;
[0033]第二路径生成单元,用于若检测到所述元素特征为第二特征,则使用class选择器生成对应页面元素的页面元素路径。
[0034]在一实施方式中,所述路径检测模块还包括:
[0035]文本元素检测单元,用于在检测所述测试用例中所包含页面元素的元素特征之后,若检测到所述元素特征为文本节点特征且对应元素内容不为空,则记录对应页面元素的内容,根据所述元素特征的内容生成查询文本内容的文本选择器;
[0036]第三路径生成单元,用于使用所述文本选择器,生成对应页面元素的页面元素路径。
[0037]在一实施方式中,所述定位确定模块包括:
[0038]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例的元素定位方法,其特征在于,所述元素定位方法包括:根据预设的元素路径生成规则,对所述测试用例生成页面元素路径,检测所述页面元素路径被触发时是否选中至少两个页面元素;若检测到所述页面元素路径被触发时选中至少两个页面元素,则将所述页面元素路径拆分为第一子路径和第二子路径,所述第一子路径被触发时至少选中所有页面元素中处于最外层页面的页面元素,所述第二子路径被触发时选中除所述第一子路径被触发时选中的页面元素以外的所有页面元素;检测使用所述第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素,在所述疑似元素对应的页面范围内,使用所述第二子路径查询得到面积不为零的页面元素为目标元素;将使用所述页面元素路径选中的所有页面元素在页面中的位置分别与所述目标元素在页面中的位置进行比较,若比较结果为存在相同位置的情况,则确定所述目标元素为所述页面元素路径所定位的元素。2.根据权利要求1所述的元素定位方法,其特征在于,根据预设的元素路径生成规则,对所述测试用例生成页面元素路径包括:检测所述测试用例中所包含页面元素的元素特征;若检测到所述元素特征为第一特征,则使用ID选择器生成对应页面元素的页面元素路径;若检测到所述元素特征为第二特征,则使用class选择器生成对应页面元素的页面元素路径。3.根据权利要求2所述的元素定位方法,其特征在于,在检测所述测试用例中所包含页面元素的元素特征之后,还包括:若检测到所述元素特征为文本节点特征且对应元素内容不为空,则记录对应页面元素的内容,根据所述元素特征的内容生成查询文本内容的文本选择器;使用所述文本选择器,生成对应页面元素的页面元素路径。4.根据权利要求1所述的元素定位方法,其特征在于,将使用所述页面元素路径选中的所有页面元素在页面中的位置分别与所述目标元素在页面中的位置进行比较包括:使用比较文档位置类方法,将所述页面元素路径选中的所有页面元素依次与所述目标元素进行位置比较;确定位置比较结果,所述位置比较结果包括位置相同、前后关系和包含关系。5.根据权利要求1所述的元素定位方法,其特征在于,检测使用所述第一子路径查询得到页面元素的面积,确定面积不为零的页面元素为疑似元素包括:获取使用所述第一子路径查询得到页面元素在页面内的长度、宽度或者高度;检测长度、宽度或者高度是否存在为零的项,若存在为零的项,则确定...

【专利技术属性】
技术研发人员:蔡雪高宝军许群海
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:

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

1