用Selenium 自动化验收测试[5]

发表于:2010-05-12来源:作者:点击数: 标签:seleniumSelenium自动化验收
用Selenium 自动化 验收测试 [5] 软件测试 driven 模式 driven Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java 、Ruby 和 Python 驱动程序。这些脚本在浏览器之外的一个单独的进程中运行。驱动程序的任务是执行 测试脚本 ,并

  用Selenium 自动化验收测试[5]   软件测试 

     driven 模式

  driven Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java、Ruby 和 Python 驱动程序。这些脚本在浏览器之外的一个单独的进程中运行。驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 browser bot 进行通信来驱动浏览器。驱动程序与 browser bot 之间的通信使用一种简单的特定于 Selenium 的连接语言 Selenese。

  driven 脚本比 test runner 脚本更强大、更灵活,可以将它们与 xUnit 框架集成。driven 脚本的缺点(与 test runner 脚本相比)是,这种脚本编写和部署起来更复杂。这是因为驱动程序必须执行以下任务:

  启动服务器

  部署所测试的应用程序(AUT)。

  部署测试脚本。

  启动浏览器。

  发送命令到 browser bot。

  验证 browser bot 执行的命令的结果。

  driven 脚本更依赖于应用程序运行时环境。例如,Java 驱动程序使用一个嵌入式 Jetty 或 Tomcat 实例来部署所测试的应用程序。目前,已经有人在致力于将 Selenium 集成到 Ruby on Rails 中,但是在我撰写本文之际,这个集成版本还没有被发布。

  清单 4 摘自一个使用 Ruby 驱动程序的 driven 测试脚本。注意,我省略了用于启动服务器和浏览器的步骤,这个测试脚本代码几乎和 test runner 脚本一样简单。

  清单 4. 使用 Ruby 驱动程序的例子

    .
    .
    puts selenium.open('/logout.html')
    puts selenium.verify_location('/index.html')
    .
    .

  现实中的需求

  在接下来的两节(现实中的需求 和 现实中的用例)中,我将描述如何在现实场景中使用 Selenium,并针对用 Ruby on Rails 和一点儿 Ajax 技术编写的一个简单的股票报价查看器应用程序编写 Selenium 测试用例。虽然这个应用程序是用 Ruby on Rails 编写的,但是也可以将这个例子应用于任何 Web 应用程序,因为测试脚本是按 test runner 模式以 HTML 编写的。这个示例应用程序是用 Ruby 1.8.3 和 Ruby on Rails 0.14.2 测试的,但是它也可能可以使用更旧的或更新的版本。

原文转自:http://www.ltesting.net