WEB开发网
开发学院软件开发Java 追求代码质量: 使用 Selenium 和 TestNG 进行编程... 阅读

追求代码质量: 使用 Selenium 和 TestNG 进行编程式测试

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 要将实际的值与清单 8 中的参数相关联,我必须在 TestNG 的 testng.xml 文件中定义它们,追求代码质量: 使用 Selenium 和 TestNG 进行编程式测试(10),如清单 9 所示:清单 9. TestNG 的 testng.xml 文件中定义的特定于 DbUnit 的参

要将实际的值与清单 8 中的参数相关联,我必须在 TestNG 的 testng.xml 文件中定义它们,如清单 9 所示:


清单 9. TestNG 的 testng.xml 文件中定义的特定于 DbUnit 的参数
 <parameter name="seed-path" value="test/conf/gt15-seed.xml"/> 
 <parameter name="db-driver" value="org.hsqldb.jdbcDriver"/> 
 <parameter name="db-url" value="jdbc:hsqldb:hsql://127.0.0.1"/> 
 <parameter name="db-user" value="sa"/> 
 <parameter name="db-psswrd" value=""/> 

通用参数值

现在我已经定义了一个灵活的 fixture,它将处理数据库状态和相应测试。现在可以准备使用 TestNG 将所有内容连接起来。通常,第一步是了解希望实现的内容。在本例中,我想完成以下任务:

我希望在运行任何逻辑测试集合前,DbUnit fixture 能够完成自己任务。

我希望将相同的测试集合运行两次:一次用于 Firefox,一次用于 Internet Explorer。

TestNG 的 parameter 元素的作用域是局部的,这对我来说是件好事。这样,我可以很容易地在 TestNG 配置文件中定义通用参数值,并且当需要时在 TestNG 的 test 组元素中重写它们。

比如,要运行两组测试,简单创建两个 test 元素。我可以通过 TestNG 的 package 元素将我的 fixture 和相关测试包括进来,package 元素能够使包结构中所有测试(或 fixture)的查找变得简单。接着,我可以在两个定义了的 test 组中将 Firefox 和 Internet Explorer 的 brwsr-path 参数关联起来。所有这些都显示在了 testng.xml 文件中,如清单 10 所示:


清单 10. 使 DbUnit 运行的灵活的 testng.xml 文件
<suite name="User Acceptance Tests" verbose="1" > 
 
 <!-- required for DbUnit fixture  --> 
 <parameter name="seed-path" value="test/conf/gt15-seed.xml"/> 
 <parameter name="db-driver" value="org.hsqldb.jdbcDriver"/> 
 <parameter name="db-url" value="jdbc:hsqldb:hsql://127.0.0.1"/> 
 <parameter name="db-user" value="sa"/> 
 <parameter name="db-psswrd" value=""/> 
 
 <!-- required for Selenium fixture --> 
 <parameter name="selen-svr-addr" value="localhost"/> 
 <parameter name="aut-addr" value="http://localhost:8080/gt15/"/>  
 
 <test name="GT15 CRUDs- Firefox" > 
 
 <parameter name="brwsr-path" value="*firefox"/> 
 
 <packages> 
  <package name="test.com.acme.gt15.Web.selenium" /> 
  <package name="test.com.acme.gt15.Web.selenium.fixtures" /> 
 </packages> 
 </test> 
 
 <test name="GT15 CRUDs- IE" > 
  
 <parameter name="brwsr-path" value="*iexplore"/> 
 
 <packages> 
  <package name="test.com.acme.gt15.Web.selenium" /> 
  <package name="test.com.acme.gt15.Web.selenium.fixtures" /> 
 </packages> 
 </test> 
</suite> 

上一页  5 6 7 8 9 10 

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接