【技术实现步骤摘要】
交互页面的测试方法和元素模板的生成方法、装置
[0001]本公开涉及计算机
,具体涉及代码测试
和深度学习
,尤其涉及一种交互页面的测试方法和元素模板的生成方法、装置、设备和介质。
技术介绍
[0002]为了保证交互体验,在提供交互页面的应用上线之前,通常需要对交互页面进行测试。随着应用所涉及业务的迭代和升级,生成和维护测试交互页面的脚本的成本将不断增加。
技术实现思路
[0003]本公开旨在提供一种降低测试成本的交互页面的测试方法和元素模板的生成方法、装置、设备和介质。
[0004]根据本公开的一个方面,提供了一种交互页面的测试方法,包括:根据待测交互页面查询元素模板库,确定针对待测交互页面的目标元素模板;根据目标元素模板,确定待测交互页面包括的可测元素及可测元素的属性信息;根据属性信息,生成针对待测交互页面的测试脚本;以及运行测试脚本,以对待测交互页面进行测试,其中,元素模板库中的每个元素模板针对一个可操作元素,且每个元素模板包括所针对的可操作元素的属性信息。
[0005 ...
【技术保护点】
【技术特征摘要】
1.一种交互页面的测试方法,包括:根据待测交互页面查询元素模板库,确定针对所述待测交互页面的目标元素模板;根据所述目标元素模板,确定所述待测交互页面包括的可测元素及所述可测元素的属性信息;根据所述属性信息,生成针对所述待测交互页面的测试脚本;以及运行所述测试脚本,以对所述待测交互页面进行测试,其中,所述元素模板库中的每个元素模板针对一个可操作元素,且所述每个元素模板包括所针对的可操作元素的属性信息。2.根据权利要求1所述的方法,其中,所述根据待测交互页面查询元素模板库,确定针对所述待测交互页面的目标元素模板包括:根据针对所述待测交互页面的第一DOM树,确定所述待测交互页面所涉及的类;确定所述元素模板库中的备选元素模板,所述备选元素模板所针对的可操作元素的类属于所述待测交互页面所涉及的类;以及根据与所述备选元素模板所针对的可操作元素具有从属关系的元素组的类,确定所述备选元素模板中的目标元素模板,其中,与所述目标元素模板所针对的可操作元素具有从属关系的元素组的类属于所述待测交互页面所涉及的类。3.根据权利要求1所述的方法,其中,所述可测元素的数量为多个;所述属性信息包括元素类型;所述根据所述属性信息,生成针对所述待测交互页面的测试脚本包括:根据测试目的和所述元素类型,确定多个所述可测元素中的待测元素;根据所述目标元素模板,确定针对所述待测元素的测试交互信息;根据所述元素类型,确定所述待测元素的测试顺序;以及根据所述测试交互信息和所述测试顺序,生成用于测试所述待测元素的测试脚本。4.根据权利要求3所述的方法,其中:所述方法还包括:根据所述目标元素模板,确定针对所述待测元素的测试标准;所述运行所述测试脚本,以对所述待测交互页面进行测试包括:运行所述测试脚本;响应于所述测试脚本被运行完成,获得针对所述待测交互页面的测试后页面;以及根据所述测试后页面和所述测试标准,确定针对所述待测交互页面的测试结果。5.根据权利要求4所述的方法,其中,所述根据所述测试后页面和所述测试标准,确定针对所述待测交互页面的测试结果包括:响应于所述测试后页面满足所述测试标准,确定针对所述测试后页面的第二DOM树与针对所述待测交互页面的第一DOM树是否相同;以及响应于所述第二DOM树与所述第一DOM树不相同,将所述测试后页面作为待测交互页面,以确定所述测试结果。6.根据权利要求5所述的方法,其中,所述根据所述测试后页面和所述测试标准,确定针对所述待测交互页面的测试结果还包括:响应于所述第二DOM树与所述第一DOM树相同,根据所述测试目的、所述元素类型和所述目标元素模板,确定是否存在新的测试信息;
响应于存在新的测试信息,根据所述新的测试信息生成新的测试脚本,以对所述待测交互页面进行测试;以及响应于不存在新的测试信息,确定所述测试结果为通过测试。7.一种元素模板的生成方法,包括:检测针对交互页面的第一图像,确定所述交互页面包括的可操作元素及所述可操作元素的属性信息;以及针对每个所述可操作元素,根据每个所述可操作元素的属性信息,生成针对每个所述可操作元素的元素模板。8.根据权利要求7所述的方法,还包括:划分所述可操作元素,得到至少一个元素组;其中,根据每个所述可操作元素的属性信息,生成针对每个所述可操作元素的元素模板包括:根据每个所述可操作元素的属性信息和每个所述可操作元素与元素组之间的从属关系,生成针对每个所述可操作元素的元素模板。9.根据权利要求8所述的方法,其中,所述划分所述可操作元素,得到至少一个元素组包括:根据针对所述交互页面的DOM树,确定所述交互页面所涉及的多个类及所述多个类彼此之间的关联关系;以及根据所述关联关系划分所述可操作元素,得到所述至少一个元素组,其中,所述多个类包括所述可操作元素的类和所述至少一个元素组的类;每个元素组的类为所述每个元素组所包括的可操作元素的类的父类。10.根据权利要求7所述的方法,其中,所述属性信息包括元素类型;所述方法还包括:针对所述可操作元素中跳转类型的第一元素,根据所述第一元素的位置信息运行第一预定脚本,以对所述交互页面执行模拟操作;以及响应于所述第一预定脚本被运行后所得到的页面的URL地址与所述交互页面的URL地址不一致,确定所述第一元素的类型为所述跳转类型。11.根据权利要求7所述的方法,其中,所述属性信息包括元素类型;所述方法还包括:针对所述可操作元素中输入框类型的第二元素,随机生成针对所述第二元素的输入信息;根据所述输入信息执行第二预定脚本,以将所述输入信息赋值给所述第二元素;获取所述第二预定脚本被运行完成后所述交互页面的第二图像;以及根据所述输入信息和所述第二图像,确定针对所述第二元素的测试标准和针对所述第二元素的测试交互信息,其中,针对所述第二元素的元素模板与所述测试标准及所述测试交互信息相关联。12.一种交互页面的测试装置,包括:目标确定模块,用于根据待测交互页面查询元素模板库,确定针对所述待测交互页面的目标元素模板;元素确定模块,用于根据所述目标元素模板,确定所述待测交互页面包括的可测元素及所述可测元素的属性信息;
脚本生成模块,用于根据所述属性信息,生成针对所述待测交互页面的测试脚本;以及测试模块,用于运行所述测试脚本,以对所述待测交互页面进行测试,其中,所述元素模板库中的每个元素模板...
【专利技术属性】
技术研发人员:陈敏,任彦伟,王亚楠,尹飞,韩照光,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。