如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试

验收测试(也称功能测试)是用来测试手工任务的功能的,但是手工测试这些任务可能很花时间,并 且容易出现人为的错误。在本文中,作者为架构师、开发人员和测试人员展示了如何使用 Selenium 测试 工具来自动化验收测试。通过自动化测试,可以节省时间,并消除测试人员所犯的错误。文中还给出了一 个例子,以演示如何将 Selenium 应用到现实中使用 Ruby on Rails 和 Ajax 的项目上。

Web 应 用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。 但是手工执行的任务容易出现操作人员人为的错误,也比较费时间。因此,尽可能将这些任务自动化,以 消除人为因素,这是一种很好的做法。于是 Selenium 之类的测试工具就有了用武之地。Selenium 帮助 您自动化验收测试,从而可以构建经过更严格测试、因而更为可靠也更易于维护的软件。

验收测 试也称黑盒测试和功能测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非 功能性需求和其他重要需求来运行的一种方法。验收测试是单元测试和组合测试的补充,后两者通常是使 用 xUnit 框架编写的。验收测试也可以使用编程语言来编写,但是 Selenium 和其他类似的工具,例如 Fitnesse,也支持用特定于工具的文档格式编写测试。

验收测试与单元测试和组合测试有以下不同之处:

应用程序是作为一个完整的端到端实体来测 试的,而不是像单元测试和组合测试那样,只是测试一个类或一组类。

验收测试是在用户界面( 例如一个浏览器)上执行的,而不是在 Web 应用程序界面上执行的。

编写测试用例的人不一定知 道应用程序的内部结构,因此也被称作黑盒测试。非技术性用户也可以编写验收测试。

背景知识

在讨论 Selenium 之前,我要介绍关于以下三个话题的一些背景知识,因为这些话题虽然不是本 文的主题,但是和本文密切相关:

持续集成

Ajax

Ruby/Ruby on Rails

持续 集成

持续集成的目标是自动化构建和测试过程,以便每天自动运行一次或多次这些过程,而不是 每个月手动地运行一次。使用持续集成的最大好处是,代码的更改会定期地自动被集成。如果系统受损, 没有构建成功,Apache Continuum 和 Luntbuild 之类的持续集成工具可以自动通过发送电子邮件通知团 队。

Ajax

Ajax 是 Asynchronous JavaScript and XML 的缩写,这是为相当老的技术新创造的一个 术语。Ajax 背后的主要思想是,由于只需更新部分页面而不是整个页面,所以 Web 应用程序可以更快地 对用户操作做出响应。

Ajax 将更多的复杂性引入到 Web 应用程序中,这一点也反映在测试中。这是因为 Ajax 就像它的名 称所表明的那样,使用 JavaScript 和异步 HTTP 请求来更新页面内容。每个浏览器在实现中与其他浏览 器相比有一些小小的不同。Selenium 是测试和检测这些差异的很好的工具,因为它在大多数流行的浏览 器中都能够运行。

Ruby/Ruby on Rails

Ruby 是一种开放源码的解释型脚本语言,用于快 捷、容易地进行面向对象程序设计。它提供了大量的库,而且简单易用,还具有可扩展性和可移植性。该 语言是由 Yukihiro “Matz” Matsumoto 创造的,目的是让程序员将更多的注意力放在手头 的任务上,摆脱语法的烦恼。

Rails 是由 David Heinemeier Hansson 创造的一种全栈的(full -stack)、开放源码的 Ruby Web 框架。Rails 的目标是使现实中的应用程序编写起来需要的代码更少, 并且比 J2EE 和 XML 之类的语言更容易。所有层都能够无缝地一起工作,因此可以使用一种语言编写从 模板到控制流乃至业务逻辑的各种东西。Rails 使用 YAML 而不是 XML 配置文件以及注释形式的反射和 运行时扩展。这里不存在编译阶段 —— 程序修改后将直接运行。

时间: 2025-01-31 05:31:03

如何使用Selenium测试工具对Ruby on Rails和Ajax应用程序进行功能测试的相关文章

8个实用且免费的Web应用程序安全测试工具

随着 Web 应用越来越广泛,Web 安全威胁日益凸显.黑客利用网站操作系统的漏洞和 Web 服务程序的 SQL 注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害.这也使得越来越多的用户关注应用层的安全问题,对 Web 应用安全的关注度也逐渐升温.下面向大家推荐8款非常有用的免费 Web 安全测试工具. N-Stalker Free Version N-Stalker Web 应用程序安全2012免费版本能够

开源框架Ruby on Rails成功之谜

在过去几年中,开源Web开发框架Ruby on Rails在Web世界中掀起一个小小的热潮.和软件领域中的许多事情一样,它的作用有些被夸大了. 没有什么东西能和人们对它宣传的一样神奇.但是Rails至少已经接近了这种高度,因此它同样值得我们对其进行研究. 不久以前,人们在问Rails是否会获得成功.我现在还保持当时对这个问题的看法.事实上,它已经取得了成功.那么我们现在或许会问:它为什么会取得成功? 源于真实世界的需要 Ruby on Rails在2004年发布了它的第一个公众版.现在它已经不是

使用RadRails和Eclipse可以轻松进行Ruby on Rails开发

Ruby on Rails 的地位如日中天.随着它的流行,开发人员越来越迫切地需要一个集成开发环境(IDE)来使 Rails 更容易使用.RadRails 是基于 Eclipse 的环境,能够满足大多数开发人员的要求. 本文介绍了 RadRails IDE,并假定您已经知道用 Ruby on Rails 开发 Web 应用程序的方法,因此,本文将不会花时间说明 Ruby or Rails 代码,而将主要说明 IDE 本身. 下载和安装 RadRails 您想要赶时髦使用 Ruby on Rail

Selenium v2.0b3发布 Web应用程序测试工具

Selenium也是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,http://www.aliyun.com/zixun/aggregation/29851.html">Mozilla和Firefox等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求. 支持自动录制动作,和自动生成.Net.Java

PowerShell调用Web测试工具Selenium实例_PowerShell

什么是Selenium Selenium是一款著名的web应用程序测试工具,它能通过在浏览器中模拟用户的动作来完成测试,其api支持java,c#,python,ruby,php,perl,javascript这些主流编程语言和脚本语言.Selenium还支持IE,火狐,和chrome等主流浏览器. PowerShell 如何直接调用Selenium PowerShell直接调用Selenium,其实类似PowerShell调用C#方法.以IE浏览器为例,至少需要具备两个文件: 1.IEDriv

.NET平台下Web测试工具横向比较

在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式.借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来.Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试.不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择.目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成. WatiN

开发者眼中最好的 22 款 GUI 测试工具

1.Abbot - Java GUI 测试框架 Abbot是一个基于GUI的简单的Java测试框架,它能够帮助开发者测试Java用户界面. 它提供事件自动生成和验证Java GUI组件,使您能够轻松地启动,探索和控制应用程序.开发者可通过脚本和编译代码两种方式来使用Abbot框架,这就是为什么它被认为是在开发者的系统 测试和QA的功能测试中都能用到的最完美的GUI测试工具. **2.EggPlant - GUI自动化测试工具 ** EggPlant 是一个QA的GUI自动化测试工具,它是为使专业

QA 应该更新的测试工具

作为一名QA,过去一年是我的软件质量知识体系和自动化测试知识体系收获最丰的一年,让我对于软件质量和自动化测试有了一个更高层次的认识.所以我写下了一些自己更新了的知识,以及在和其他公司的QA交谈之后发现的一些他们应该更新的知识.借此希望能对各位看官起到一些提示或者补充作用,当然我也希望各位与我进行联系,并共同探讨未来的QA到底应该具有什么样的能力和知识体系. Web应用程序视觉感知测试 视觉感知测试,对于很多QA,包括我在2013以前对于它的认知都是手动测试领域的一个成员.在这个Web系统爆炸的年

艾伟:.NET平台下Web测试工具横向比较

在浏览器中打开页面并加以判断,无疑是测试一个Web应用程序最直接的方式.借助一款合适的自动测试工具或框架,测试人员就可以在一定程度上从繁重的手动测试工作中解放出来.Ruby平台下的Watir无疑是这方面的姣姣者,因此被大量用于Web应用程序的回归测试或验收测试.不过对于使用.NET Framework的技术团队来说,Watir不一定是最好的选择.目前社区中已经出现了几款.NET平台下的Web测试框架,测试人员现在就可以使用自己最熟悉的语言来实现同样的功能,并与自己的开发环境无缝集成. WatiN