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

  • 时间:
  • 浏览:1
  • 来源:大发PK10APP下载_大发PK10APP官方

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

其中,By某种接口中定义的元素定位的土法律法律依据有如下8种。

第一3个多多多土法律法律依据返回一3个多多多WebElement实例否则抛出异常。后者返回所有找到的WebElement的实例列表否则空列表。

SAX(Simple API for XML)是某种事件驱动的XML API,其采用了输入流的土法律法律依据,按照事件模型来解析XML文档。否则无须像DOM那样加载整个文档,否则它对内存的要求较低,解析加快波特率速、更轻量,非常适合于本案例中对于XML文件的只读访问。

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

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

2.4.1 Webdriver中的定位土法律法律依据

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

按照一般的理解,通过id否则name去定位一3个多多多元素波特率上是最高的,也是比较推荐的某种土法律法律依据。不过在没法来不要 情况表下,没法来不要 开发规范遵守的都不 很好的工程组织,否则对于给每个页面元素进行命名某种事情做得无须太好,否则随着现在比较主流的前端框架,否则开发库,如ExtJs、JQuery等,一般都采用随机否则相同的id、name等,需用采用更为冗杂的定位土法律法律依据。这在后续章节中会有完全的介绍。

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格式输出结果。实在早在10004年都不 人喊出了“XML在互联网上否则失败”(XML on the Web Has Failed[1])的口号,但目前XML仍是目前事实上的系统间数据交换的标准。

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

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

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

2.4.2 使用dom4j进行解析

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

从该XML文件的格式上看,单个定位数据以locator标记为一3个多多多元素,元素属性分别有name、by,而元素内容要是by对应的定位土法律法律依据需用的定位信息。locator之间彼此独立,并同属于一3个多多多带locators标签的父元素。

结果正确,文件解析的波特率也是不错的。

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