追求代码质量 - 使用Selenium和TestNG进行编程式测试 - 编程入门网
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |