System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,具体为一种基于web界面可见元素查找元素的方法。
技术介绍
1、现代软件日益复杂,软件测试的重要毋庸置疑,如何保证软件的优良品质,是软件公司探索和追求的目标,测试技术日渐成熟,越来越多的组织在软件研发交付过程中,引入了自动化测试,随着测试用例的规模也在逐渐增加。
2、在ui自动化测试领域,辅助用例编写的方法有,一是提供i nspect i on辅助工具帮助开发人员自动识别控件,二是通过录制的方式,自动转换成测试脚本,其中第一种方式影响编写速度,每一个元素都要定位和查看元素se l ector;第二种方式首次编写速度大大提高,但再次更新修改时,仍需要手动操作,除非每次都重写录制,此外以上两种方式基本都是基于页面dom结构,视情况选择id、name、css或xpath等定位方式,有时即便界面看起来是没变,但研发修复或重构优化,都会导致dom结构的变化,造成自动化脚本的运行失败,需要维护脚本,增加额外工作量,综合来说,两种方式一个是提高编写速度,一个是降低维护成本,不能兼得,因此需要对其进行改进。
技术实现思路
1、本专利技术的目的在于提供一种基于web界面可见元素查找元素的方法,以解决上述
技术介绍
中提出的问题。
2、为了实现上述目的,本专利技术提供如下技术方案:一种基于web界面可见元素查找元素的方法,按角色定位元素流程,具体步骤如下:
3、步骤1.1:以chrome浏览器为例,启动chrome浏览器,并建立websocket连
4、步骤1.2:与浏览器建立连接后,可以通过chrome devtoo l s protoco l(cdp)与chrome浏览器进行通信,发送cdp命令来获取dom树(如dom.getdocument);
5、步骤1.3:判断给定的元素角色是否正确,若给定的角色值不正确,则结束查找并返回错误,反之继续;
6、步骤1.4:依据上一步骤传入的角色类型,在dom中查找相关的元素,并保存;
7、步骤1.5:若上一步骤查找有元素,再依据给定界面可见的文本,进行过滤;
8、步骤1.6:若给定其他属性,将继续检查该元素是否满足其他附加属性条件,这些属性可以用于进一步缩小匹配的元素范围;
9、步骤1.7:最后收集匹配的元素,将其添加到结果集中,并依据程序自定义的对象;
10、按文本内容定位,具体步骤如下:
11、步骤2.1:与浏览器建立连接,并获取dom与步骤1.1和步骤1.2相同;
12、步骤2.2:若给定查找类型是元素属性,如a lt,t it l e,p l aceho l der,遍历页面的dom树,查找具有指定属性的元素,遍历过程中,它会检查元素的属性值是否与属性选择器的值匹配;
13、步骤2.3:若给定查找类型是文本类型,如text,遍历页面的dom树,查找具有指定文本内容的元素,遍历过程中,它会检查元素的文本内容是否与文本选择器的内容匹配;
14、步骤2.4:最后收集匹配的元素,与步骤1.7一致。
15、优选地,步骤1.2中所述的cdp命令在发送前需要进行验证和测试,从而确保cdp命令的正确性,避免发送的cdp命令错误而无法获取dom树或获取错误的数据。
16、优选地,步骤1.3中所述在判定元素角色是否正确时,需要确保给定的元素角色依据aria规范,常见的角色有:button标识一个按钮,l i nk标识一个超链等。
17、优选地,步骤1.5中所述的过滤采用的是正则匹配,正则匹配支持复杂的文本匹配规则,可以精确地筛选出包含或不包含特定文本的元素,提高匹配的精度。
18、优选地,步骤1.6中所述的其他属性包括有checked、d i sab led、ar i a-l abel等,在检查属性前,需要验证该属性是否适用于当前元素。
19、优选地,步骤1.7中所述的对象包含一组用于与元素交互的方法,如c l ick、fi ll等,在添加到结果集中时,可以使用集合,如set,来存储结果,从而自动去重,确保添加到结果集中的元素是唯一的,避免重复添加。
20、优选地,步骤2.3中所述在进行文本匹配前,需要考虑到空格、换行符等可能影响文本匹配的因素,适当的对文本内容进行预处理。
21、优选地,步骤1.4中所述在dom中查找相关的元素时可以根据实际情况使用特定的选择器,如css选择器来定位元素,从而提高效率。
22、优选地,步骤1.4中所述在dom中查找相关的元素时,需要测试在不同浏览器和版本上的查找效果,确保兼容性,避免在不同版本的浏览器上查找效果不一致。
23、本专利技术的有益效果如下:
24、通过利用界面可见文本进行元素定位,编写脚本的人员大部分情况,可以依据界面上可见元素进行元素定位,若当前元素有aria角色,如button,给定角色和文本名称,就可以对元素进行比较精确定位,反之也可以通过一些元素的属性值,如p l aceho l der,仅给定属性值即可进行元素定位,相比传统的xpath的方式,更加简单高效便捷,此外通过界面可见元素定位的方式,研发修复优化代码,对脚本稳定性的影响很小,从而减少了脚本编写的时间,同时增强了脚本的稳定性、可靠性和精准性,减少了脚本的维护成本。
本文档来自技高网...【技术保护点】
1.一种基于web界面可见元素查找元素的方法,其特征在于,按角色定位元素流程,具体步骤如下:
2.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.2中所述的CDP命令在发送前需要进行验证和测试,从而确保CDP命令的正确性,避免发送的CDP命令错误而无法获取DOM树或获取错误的数据。
3.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.3中所述在判定元素角色是否正确时,需要确保给定的元素角色依据ARIA规范,常见的角色有:button标识一个按钮,link标识一个超链等。
4.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.5中所述的过滤采用的是正则匹配,正则匹配支持复杂的文本匹配规则,可以精确地筛选出包含或不包含特定文本的元素,提高匹配的精度。
5.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.6中所述的其他属性包括有checked、disabled、aria-label等,在检查属性前,需要验证
6.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.7中所述的对象包含一组用于与元素交互的方法,如click、fill等,在添加到结果集中时,可以使用集合,如Set,来存储结果,从而自动去重,确保添加到结果集中的元素是唯一的,避免重复添加。
7.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤2.3中所述在进行文本匹配前,需要考虑到空格、换行符等可能影响文本匹配的因素,适当的对文本内容进行预处理。
8.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.4中所述在DOM中查找相关的元素时可以根据实际情况使用特定的选择器,如CSS选择器来定位元素,从而提高效率。
9.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.4中所述在DOM中查找相关的元素时,需要测试在不同浏览器和版本上的查找效果,确保兼容性,避免在不同版本的浏览器上查找效果不一致。
...【技术特征摘要】
1.一种基于web界面可见元素查找元素的方法,其特征在于,按角色定位元素流程,具体步骤如下:
2.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.2中所述的cdp命令在发送前需要进行验证和测试,从而确保cdp命令的正确性,避免发送的cdp命令错误而无法获取dom树或获取错误的数据。
3.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.3中所述在判定元素角色是否正确时,需要确保给定的元素角色依据aria规范,常见的角色有:button标识一个按钮,link标识一个超链等。
4.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.5中所述的过滤采用的是正则匹配,正则匹配支持复杂的文本匹配规则,可以精确地筛选出包含或不包含特定文本的元素,提高匹配的精度。
5.根据权利要求1所述的一种基于web界面可见元素查找元素的方法,其特征在于:步骤1.6中所述的其他属性包括有checked、disabled、aria-label等,在...
【专利技术属性】
技术研发人员:刘亚波,
申请(专利权)人:北京皮尔布莱尼软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。