用 Selenium 自动化验收测试(4)

发表于:2011-09-15来源:未知作者:领测软件测试网采编点击数: 标签:Selenium;验收测
启动服务器。 部署所测试的应用程序(AUT)。 部署测试脚本。 启动浏览器。 发送命令到 browser bot。 验证 browser bot 执行的命令的结果。 driven 脚本更依赖于

  启动服务器。

  部署所测试的应用程序(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 测试的,但是它也可能可以使用更旧的或更新的版本。

  如果有 Linux,那么发行版中通常已经包括了 Ruby。在命令提示符下运行 ruby -v,检查您所拥有的版本。对于大多数平台,都可以在 http://www.ruby-lang.org/ 上找到一个 Ruby 发行版。

  接下来的步骤是通过 RubyGems 打包系统安装 Ruby on Rails。为此,只需执行 gem install rails --include-dependencies。在某些平台上,必须执行一些额外的步骤,所以请访问 Ruby on Rails 网站,以获得更多细节。

  在我撰写本文之际,目前可用的 Selenium 版本是 0.6。我已经将它集成在示例应用程序中(见 下载 小节),我的做法是从 http://selenium.thoughtworks.com/ 下载 Selenium Core 包,然后将名为 selenium 的文件夹复制到用于静态内容的文件夹。在 Ruby on Rails 应用程序中,这个文件夹的名称是 public。在 J2EE Web 应用程序中,可以将 selenium 文件夹放在 Web 应用程序的根目录或 WAR 归档文件中。

  最后一步是下载示例应用程序。从 下载 小节中获得这个包。解压应用程序,并打开一个命令提示符。然后转入应用程序被解压到的那个目录。为了启动应用程序,运行 ruby script/server。应该看到 Rails 成功启动了,如 图 1 所示。

  图 1. 从命令提示符下运行 Ruby on Rails

从命令提示符下运行 Ruby on Rails

 

  现实中的用例

  在本节中,我将列出示例应用程序的用例。通过这些简化的用例,可以编写模拟用户所执行步骤的验收测试,并验证这些步骤的结果是否与预期相符。股票报价应用程序实现了以下四个用例:

  登录

  查看股票

  查看股票细节

  退出

  实现这些用例的代码已经编写好了;可以在 app 目录中找到该代码,测试用例在 public/selenium/tests 文件夹中。

  登录用例

  大多数人都知道登录页面是如何工作的 —— 输入用户名和密码,然后将数据提交到服务器。如果凭证有效,就可以成功登录,并看到受安全保护的资源。在示例应用程序中,这个测试用例包含以下用户操作和断言,必须将它转换成一个 Selenium 测试用例:

  单击登录链接。

  验证系统是否要求用户进行登录。

  输入用户名。

  输入密码。

  按下登录按钮。

  验证是否登录成功。

  图 2 展示了用于这些需求的 Selenium 测试用例。注意,我是在运行测试之后截取屏幕快照的。绿色箭头表示成功地通过验证的断言。

  图 2. 登录和查看股票测试用例

登录和查看股票测试用例

  

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