《精通自动化测试框架设计》—第2章 2.4节使用XML文件

  • 时间:
  • 浏览:1
  • 来源:幸运飞艇_幸运飞艇官方

2.4.2 使用dom4j进行解析

接下来将使用dom4j你这个 第三方工具以SAXReader的办法完成该文件的解析,来简要介绍怎样解决来自XML的数据信息。dom4j 是由dom4j.org维护的一款非常优秀的 Java XML开源解析工具包,读者可否从http://sourceforge.net/projects/dom4j/获取其最新版本。它具有性能优异、功能强大和极端易用的特点,为众多开源项目所采用。

Webdriver中通过实现了By你这个 接口的各个driver类的实例来进行元素定位。典型的用法如下例所示:

上述测试用例在一台笔记本上的执行结果是:

从文件内容上看,该XML文件维护着某一被测应用UI自动化测试中的定位信息,也不显而易见是另另一有2个登录页面中含关用户名、密码输入框以及登录按钮这六个页面元素的定位信息。其中用户名和密码输入框分别使用了"id"、"name"等属性,而登录按钮则使用了XPath的定位串。

从该XML文件的格式上看,单个定位数据以locator标记为另另一有2个元素,元素属性分别有name、by,而元素内容也不by对应的定位办法不可否 的定位信息。locator之间彼此独立,并同属于另另一有2个带locators标签的父元素。

按照一般的理解,通过id导致 name去定位另另一有2个元素时延上是最高的,也是比较推荐的三种办法。不过在什么都有情况报告下,或多或少开发规范遵守的就有很好的工程组织,导致 对于给每个页面元素进行命名你这个 事情做得不言而喻太好,导致 随着现在比较主流的前端框架,导致 开发库,如ExtJs、JQuery等,一般都采用随机导致 相同的id、name等,不可否 采用更为比较复杂的定位办法。这在后续章节中会有全部的介绍。

第另另一有2个办法返回另另一有2个WebElement实例导致 抛出异常。后者返回所有找到的WebElement的实例列表导致 空列表。

2.4 使用XML文件

XML,可扩展的标识语言(eXtensible Markup Language),其先驱是SGML和HTML。1996年万维网医学会 (W3C)现在但是开始设计三种可扩展的标记语言,使其不需要可否将SGML的灵活性和强大功能与导致 被广泛采用的HTML结合起来。1998年2月,XML 1.0 成为了W3C 的推荐标准(顺便说一下Webdriver现在也是W3C推荐标准)。XML最大的优势在于对各种数据的跨平台管理,任何操作系统,包括Windows 、MacOS 、Linux 以及或多或少平台可否通过XML的解析器来读取XML数据,也不以XML格式输出结果。随便说说早在804年就村里人 喊出了“XML在互联网上导致 失败”(XML on the Web Has Failed[1])的口号,但目前XML仍是目前事实上的系统间数据交换的标准。

接下来根据另另一有2个样例来介绍怎样进行 XML 文件的解析。假定有如下另另一有2个叫石LocatorPaser.xml的文件。

结果正确,文件解析的时延也是不错的。

SAX(Simple API for XML)是三种事件驱动的XML API,其采用了输入流的办法,按照事件模型来解析XML文档。导致 不言而喻像DOM那样加载整个文档,也不它对内存的要求较低,解析加快时延速、更轻量,非常适合于本案例中对于XML文件的只读访问。

其中,By你这个 接口中定义的元素定位的办法有如下8种。

本节书摘来自异步社区《精通自动化测试框架设计》一书中的第2章,第2.4节使用XML文件,作者陈冬严 , 邵杰明 , 王东刚 , 蒋涛,更多章节内容可否访问云栖社区“异步社区”公众号查看。

2.4.1 Webdriver中的定位办法

俗话说女大十八变。用这句话来形容B/S架构的软件产品的用户界面也是非常贴切的。UI自动化的一大挑战也不怎样应对无缘无故变化的界面,将界面定位的维护成本控制在另另一有2个较为合理的范围内。这其中另另一有2个比较好的实践也不将界面元素的定位信息保发生内外部文件中,如XML,作为运行时框架类的输入数据,动态地导入到其对应的页面类中供定位使用。

下述LocatorPaser类将对前述的XML文件进行解析,最终获取到像"xpath=//input [@name='login_submit']"从前的定位串,可否用于后续的元素定位。类的具体实现如下:

在实践中使用最为广泛、表现也最为稳定的导致 是XPath导致 cssSelector这两大流派。首先,对于或多或少定位办法来说,这另另一有2个就有可否由相应办法实现相同的目的。其次两者随便说说采用的技术路线不同,所能达到的效果也基本是伯仲之间。也不,但是我医学会 医学会 一门,其余略懂即可。在本书中主要采用XPath来介绍相关的元素定位技术。相信采用cssSelector的读者可否较为方便地进行转换。当然本节的主题是有关XML的解析,有关XPath等元素定位的基本办法,可否参见本书最后一次要有关Webdriver的基础知识介绍。