【技术实现步骤摘要】
控件元素的获取方法及装置、自动化测试系统、存储介质
本申请涉及自动化测试领域,特别涉及一种控件元素的获取方法及装置、自动化测试系统、存储介质。
技术介绍
Web(网页)自动化测试方法指通过软件对网页上的控件执行输入操作和单击操作等测试操作的方法,Web自动化测试技术是一种高效率的软件测试技术。目前,业界大部分厂商通常使用TestNG+Seleniu开源框架进行Web自动化测试用例代码的开发,或者通过开发工具采用录制的方式自动生成自动化测试用例代码。自动化测试用例代码在运行过程中,通常采用控件所操控的文档对象模型(DocumentObjectModel,DOM)节点的身份标识(Identity,ID)、名称(Name)、层叠样式表(CascadingStyleSheets,CSS)选择器(Selector)或可扩展标记语言(eXtensibleMarkupLanguage,XML)路径语言(XmlPathLanguage,XPath)作为控件查找依据,以进行控件元素的查找。其中,控件是指Web页面上可操作的对象,例如网页上的控件可以包括按钮控件和文本框控件等,控件元素表示控件的代码对象。相关技术中,通常采用DOM节点的ID或Name查找控件元素,或者,基于DOM节点的ID或Name进行XPath拼接,使用拼接的XPath路径精确查找控件元素。测试人员在编写自动化测试用例代码的过程中,确定控件元素的查找方式的过程可以包括:判断Web页面上控件所操控的DOM节点是否存在固定的ID或Name;如果DOM节点不存在固定的ID或Name,则进行XPath抓取或从根节点 ...
【技术保护点】
1.一种控件元素的获取方法,其特征在于,所述方法包括:根据输入的目标控件类型的名称,基于预设的对应关系,确定与所述目标控件类型的名称对应的目标特征标识,所述目标控件类型为待测控件的控件类型,所述对应关系包括待测页面上所有控件类型的名称以及与所述名称一一对应的特征标识;在所述待测页面的程序节点中查找所述目标特征标识;将所述目标特征标识所匹配到的至少一个程序节点的页面元素对象确定为所述待测控件的控件元素,所述控件元素用于输入自动化测试框架,以供自动化测试框架基于所述待测控件的封装实现类对所述待测控件进行自动化测试。
【技术特征摘要】
1.一种控件元素的获取方法,其特征在于,所述方法包括:根据输入的目标控件类型的名称,基于预设的对应关系,确定与所述目标控件类型的名称对应的目标特征标识,所述目标控件类型为待测控件的控件类型,所述对应关系包括待测页面上所有控件类型的名称以及与所述名称一一对应的特征标识;在所述待测页面的程序节点中查找所述目标特征标识;将所述目标特征标识所匹配到的至少一个程序节点的页面元素对象确定为所述待测控件的控件元素,所述控件元素用于输入自动化测试框架,以供自动化测试框架基于所述待测控件的封装实现类对所述待测控件进行自动化测试。2.根据权利要求1所述的方法,其特征在于,当所述待测页面上包括至少两个所述控件类型时,所述在所述待测页面的程序节点中查找所述目标特征标识,包括:基于输入的所述待测页面上的线索,获取所述线索所在的所有程序节点;遍历所述线索所在的所有程序节点以查找所述目标特征标识。3.根据权利要求2所述的方法,其特征在于,所述遍历所述线索所在的所有程序节点以查找所述目标特征标识,包括:设置查找深度,并对所述线索所在的每个程序节点执行目标特征标识查找流程,直至遍历完成所述线索所在的所有程序节点;其中,所述目标特征标识查找流程包括:判断所述线索所在的自身节点是否匹配所述目标特征标识;当所述自身节点匹配所述目标特征标识时,将所述自身节点的页面元素对象添加到初始页面元素对象列表中,记录所述查找深度,并结束所述目标特征标识查找流程;当所述自身节点不匹配所述目标特征标识时,检测所述自身节点的子节点是否匹配所述目标特征标识;当所述自身节点的子节点中存在目标子节点匹配所述目标特征标识时,将所述目标子节点的页面元素对象添加到所述初始页面元素对象列表中,记录所述查找深度,并结束所述目标特征标识查找流程;当所述自身节点的所有子节点均不匹配所述目标特征标识时,将所述自身节点切换至所述自身节点的父节点,并使所述父节点替换所述自身节点,使所述查找深度加1,得到更新后的查找深度,重复执行所述目标特征标识查找流程,直至将所述自身节点切换至所述自身节点的父节点的切换次数达到预设阈值。4.根据权利要求3所述的方法,其特征在于,所述将所述目标特征标识所匹配到的至少一个程序节点的页面元素对象确定为所述待测控件的控件元素,包括:对所述初始页面元素对象列表中的页面元素对象进行筛选,得到目标页面元素对象列表;将所述目标页面元素对象列表中的页面元素对象作为所述待测控件的控件元素。5.根据权利要求4所述的方法,其特征在于,所述对所述初始页面元素对象列表中的页面元素对象进行筛选,得到目标页面元素对象列表,包括:删除所述初始页面元素对象列表中隐藏控件对应的页面元素对象,得到中间页面元素对象列表;获取所述中间页面元素对象列表中所述查找深度最小的至少一个页面元素对象,得到所述目标页面元素对象列表。6.根据权利要求1所述的方法,其特征在于,所述特征标识包括层叠样式表CSS选择器表达式。7.根据权利要求1所述的方法,其特征在于,在所述基于预设的对应关系,确定与所述目标控件类型的名称对应的目标特征标识之前,所述方法还包括:对所述待测页面上的所有控件类型进行命名,确定每个控件类型的名称;对所述待测页面上的所有控件类型进行定义,确定与所述名称一一对应的特征标识,以得到所述对应关系。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:对定义后的控件类型进行界面操作代码的封装,得到所述待测页面上所有控件的封装实现类。9.根据权利要求1所述的方法,其特征在于,所述待测控件包括按钮控件、文本框控件、普通链接控件、下拉框控件、表格控件、树型控件和日期选择控件中的至少一种。10.根据权利要求2所述的方法,其特征在于,所述线索包括所述待测页面上的程序节点的身份标识、程序节点的名称和页面元素中的至少一种。11.一种控件元素的获取装置,其特征在于,所述装置包括:第一确定模块,用于根据输入的目标控件类型的名称,基于预设的对应关系,确定与所述目标控件类型的名称对应的目标特征标识,所述目标控件类型为待测控件的控件类型,所述对应关系包括待测页面上所有控件类型的名称以及与所述名...
【专利技术属性】
技术研发人员:胡应广,
申请(专利权)人:华为软件技术有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。