快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
管 理的应用:

配置并启动 Selenium 服务器的实例。

与 Create Widget Web 表单交互并提交它。

检验结果页面是否包含具有小部件名称的成功信息。

停止 Selenium 服务器实例。

请注意:用例中的每一步都是通过 Selenium 完成的 —— 所以说,TestNG 仅仅帮助进行查找。现在,我们来实践一下。

Create Widget 测试用例

我希望对 Selenium 服务器进行灵活的配置,所以我将编写一个参数化 fixture(TestNG-Selenium 样式),一般可以使用它来为不同浏览器、不同位 置甚至混合的 Web 应用程序地址(类似 localhost 和产品)创建 Selenium 服 务器。清单 4 定义了我所配置的灵活的 Selenium 服务器 fixture:

清单 4. 灵活的 Selenium fixture

@Parameters({"selen-svr- addr","brwsr-path","aut-addr"})   @BeforeClass   private void init(String selenSrvrAddr, String bpath,    String appPath) throws Exception {   driver = new DefaultSelenium(selenSrvrAddr,    SeleniumServer.getDefaultPort(), bpath, appPath);   driver.start();   }   //....   @AfterClass   private void stop() throws Exception {   driver.stop();   }

必须将参数名与 TestNG 的 testng.xml 文件中的值链接起来;因此,我定 义了如清单 5 所示的三个参数。(默认情况下为 Firefox 定义了 brwsr-path 参数,但是我可以同样轻松地定义一组新的使用 Internet Explorer 的测试。 )

清单 5. TestNG testng.xml 文件中的参数值

<parameter  name="selen-svr-addr" value="localhost"/>   <parameter name="aut-addr"  value="http://localhost:8080/gt15/"/>   <parameter name="brwsr-path" value="*firefox"/>

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

时间:2010-12-10 IBM Andrew Glover

接下来,我将定义清单 6 所示的测试用例,它也包含一个参数,用于进行测 试的应用程序的基 URL。该测试将促使浏览器在 Web 应用程序内打开特定页面 ,并操作 图 1 所示的表单。

清单 6. 一个良好的测试用例

@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");   }

通过调用 driver.click("submit") 提交表单后,Selenium 将等待响应的加 载,然后我将断言成功的创建信息。(注意:响应 Web 页面具有一个 ID 为 success 的元素。)

结果产生一个灵活的文本类,它将检验两种场景:一种是良好的场景,而另 一种是没有提供定义的边界用例,如清单 7 所示:

清单 7. 使用 TestNG 进行全部的处理

public class  CreateWidgetUATest {   private Selenium driver;   @Parameters({"selen-svr-addr","brwsr-path","aut-addr"})   @BeforeClass   private void init(String sele

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号