使用XML维护Selenium自动化测试脚本

发表于:2013-6-07 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:祝尚元    来源:51Testing软件测试网采编

  下面怎么做呢?传统的测试用例文档存储方式在不同的公司里差异很大,有的是 Word 文档,有的是 Excel 文档,也有维护在配置管理站点的,比如 IBM 的 Rational ClearQuest、开源的 TestLink 等等。Word 和 Excel 在维护用例额外的步骤信息方面都不够灵活简便,我们决定使用 XML 文档。下面是使用 XML 维护本文中演示用例。

图 1. 浏览器打开测试用例

  可以看出来,这和传统的用例看起来很像。这样的用例编写方式,阅读起来非常容易。同事在会议室一起评审这个用例时,很容易就能看明白这个测试用例的执行行为。但是又与传统测试用例不同的是,它包含了额外的能被自动化工具识别的步骤信息。我们使用 XML 编辑器打开这一个测试用例文件,如下:

  清单 4. XML 格式的自动化测试脚本

<?xml version="1.0" encoding="UTF-8"?>
 <?xml-stylesheet type="text/xsl" href="./SeleniumUseCase.xsl"?>
 <SUITE name="IBM 开发者社区 演示测试用例">
 <SETTINGS browser='*firefox' seleniumServer='127.0.0.1'
   seleniumPort='4444' application_url='http://www.google.com/'>
  </SETTINGS>
 <TEST name="在谷歌中查询 IBM 开发者网络社区" timeout='1'>

   <STEPS>
 <STEP index="1" type="Type.INPUT" name="在谷歌查询输入框,
输入 ibm developerworks cn">
 <XPATH>//input[@name='q']</XPATH>
     <VALUE>ibm developerworks cn</VALUE>
    </STEP>
 <STEP index="2" type="Type.CLICK" name="单击查询按钮,执行查询">
     <XPATH>//input[@name='btnK']</XPATH>
    </STEP>
 <STEP index='3' type='Type.CLASS' name="测试截图函数">
 <METHOD>captureScreenshotRemote</METHOD>
 <ARGUMENT> 查询后截图测试 Remote</ARGUMENT>
    </STEP>
   </STEPS>
  </TEST>
 </SUITE>

  下面对上述 xml 进行解释:

  第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码(UTF-8)。紧接着是指定的处理指令。设置的 XLST 转换,可以使测试用例 XML 文件能被浏览器打开并显示为 HTML 形式。XSLT 是一个 W3C 标准,可将 XML 转换为其他的格式,比如 HTML 格式。本文提供的下载附件里包括引用的 XSL,这里不再赘述。每个 SUITE 元素可以指定用例执行的配置信息,比如浏览器和 Selenium 信息等。每个 TEST 元素对应着一个测试用例,每个 TEST 包含若干 STEP 元素,对应着不同的测试步骤。每个 STEP 步骤包括步骤编号 index、 步骤类型 type、步骤名称 name,也包含页面控件定位信息 XPATH 和测试数据 VALUE 等。

  下文来演示,如何使用自动化测试工具开发自定义的测试框架来执行上述 XML 用例。本中定位控件元素的使用的是 XPath,我们就以 Selenium Server 为例进行自动化框架的开发。IBM 公司的 Rational Functional Tester 工具也是支持 XPATH 定位控件元素的,请参看 developerWorks 文章《使用 XPath 在 Rational Functional Tester 中动态识别对象》。读者如果感兴趣,可自行基于 RFT 开发自己的自动化测试框架。

  XML 用例驱动 Selenium 框架开发

  我们创建另一个 JUnit 4 单元测试类:dw.xml.DWloginXML.java,依次编写 @BeforeClass、@Test、@AfterClass 方法。读者可自行下载本文附带的源代码项目导入到自己的 Eclipse 开发工作区。下面对代码进行讲解:

  1、解析测试用例 XML,读取执行设置信息

  使用 Dom4J 来解析 XML 用例脚本文件,ucXMLFile 变量存放测试用例文件路径。首先解析 SETTINGS 元素,读取其中的属性设置。可以看出,使用 XML 维护测试用例,能轻松维护 Selenium Server 的相关信息。如果想换其他浏览器执行这个用例,只需修改 XML 文件中 SETTINGS 元素的 browser 属性,比如把“*iexplore”改为“*firefox”,运行的时候就会启动 firefox 浏览器来执行该用例,而不需要改动任何 Java 程序代码。同样,如果喜欢使用谷歌 Chrome 浏览器,则需要设置为“*googlechrome”。当然,需要预先在启动 Selenium Server 的机器上安装相应的浏览器软件。

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号