快速业务通道

追求代码质量 - 使用Selenium和TestNG进行编程式测试 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
nSrvrAddr, String bpath,    String appPath) throws Exception {   driver = new DefaultSelenium(selenSrvrAddr,    SeleniumServer.getDefaultPort(), bpath, appPath);   driver.start();   }   @Parameters({"aut-addr"})   @Test   public void verifyCreate(String appPath) throws Exception  {   driver.open(appPath + "/CreateWidget.html");   driver.type("widget", "book-01");   driver.select("type", "book");   driver.type("definition", "book widget type book");   driver.click("submit");   driver.waitForPageToLoad("10000");   assertEquals(driver.getText("success"),    "The widget book-01 was successfully created.",    "test didn''t return expected message");   }   @Parameters({"aut-addr"})   @Test   public void verifyCreationError(String appPath) throws  Exception {   driver.open(appPath + "/CreateWidget.html");   driver.type("widget", "book-02");   driver.select("type", "book");   //definition explicitly set to blank    driver.type("definition", "");   driver.click("submit");   driver.waitForPageToLoad("10000");   assertEquals(driver.getText("failure"),    "There was an error in creating the widget.",    "test didn''t return expected message");   }   @AfterClass   private void stop() throws Exception {   driver.stop();   } }

目前为止,我已经定义了两种足够灵活的 Selenium 测试,可以对多个浏览 器进行测试,并且还可以对多个位置进行测试,这对初学者非常有利。尽管如此 ,我还想获得更高级点的应用,我开始考虑测试中的逻辑是否可重复使用。比如 ,如果对一行运行两次 CreateWidgetUATest 测试类会怎样?如何确保我的 Web 应用程序运行的是本地机器(或其他机器)上最新版本的代码?

追求代码质量 - 使用Selenium和TestNG进行编程式测试(5)

时间:2010-12-10 IBM Andrew Glover

可重复 的验收测试

在执行 Selenium 测试时,必须运行 Selenium 服务器以及 要检验的 Web 应用程序。言外之意,还必须运行应用程序中所有相关的架构依 赖关系 —— 对于大多数 Java™ Web 应用程序来说,即 Servlet 容器和相关的数据库。

正如在我的另一篇文章 repeatable system tests 中解释的一样,DbUnit 和 Cargo 是两种我最喜欢的技术,可以 在依赖数据库的 Web 应用程序中实现逻辑重复。DbUnit 管理数据库中的数据, 而 Cargo 使容器管理以通用的方式实现自动化。下面几节将向您展示如何结合 使用 Selenium 和 TestNG 从而确保实现逻辑重复的验收测试。

DbUnit 再次登场

您可能回想起,DbUnit 通过有效地管理测试场景中的数据简化 了使用数据库的工作。通过使用 DbUnit,可以在测试前将一组已知的数据加载 到数据库中,这意味着您可以依赖这些在测试过程中呈现的数据。此外,在完成 测试后,还可以从数据库中删除测试结果产生的数据。DbUnit 作为一种方便的 fixture(JUnit 或 TestNG)简化了所有这些工作,它能够读取包含测试数据的 种子文件,逻辑插入、删除数据,或更新数据到相应的数据库表中。

由 于这

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
你可能对下面的文章感兴趣

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号