Selenium一款有名的Web应用程序测试框架

在本文中,我们将介绍如何轻松地从 Selenium 1 过渡到 Selenium 2,并用一些示例介绍如何使用 Selenium 2,如何进行远程测试,以及如何将书面测试从 Selenium 1 迁移到 Selenium 2 中。

Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。

Selenium(以下简称为 Selenium 1)并不是能够在浏览器中自动化功能测试的惟一工具。由 Simon Stewart(来自 Google)创建的 WebDriver 是一个具有类似目标的项目。要控制浏览器,需要依赖采用本机支持的独立客户端。WebDriver 仅提供 Java 绑定,并不能支持 Selenium 1 所能支持的那么多浏览器。

Selenium 1 + WebDriver = Selenium 2

Selenium 1 和 WebDriver 合并成一款性能更佳的产品 Selenium 2(或 Selenium WebDriver),该款产品发行于 2011 年。Selenium 2 具有来自 WebDriver 的清晰面向对象 API,并能以最佳的方式与浏览器进行交互。Selenium 2 不使用 JavaScript 沙盒,它支持多种浏览器和多语言绑定。在撰写本文时,Selenium 2 为下列程序提供驱动程序:

Mozilla Firefox Google Chrome Microsoft Internet Explorer Opera
Apple iPhone Android browsers

借助 Selenium 2,您可使用 Java、C#、Ruby、和 Python 编写测试。Selenium 2 还提供基于 HtmlUnit 的无外设驱动,是用于测试 Web 应用程序的 Java 框架。HtmlUnit 运行速度特别快,但它不是一个真正与真实浏览器相关联的驱动。

目前,Selenium 2 仍处于开发阶段,还有些细节问题正在处理。当前版本为 2.9。针对 Safari 和 Blackberry 的驱动将会在近期集成到产品中。

在本文当中,我们将学习如何利用 Selenium 2 来测试 Web 应用程序。示例展示了如何远程实现测试。我们还将学习如何将编写好的测试从 Selenium 1 转移到 Selenium 2 中。

Selenium 2 入门

在本节,我们将学习如何将 Selenium 2 框架用于 Web 应用程序的一个相对简单的测试中。开发环境采用 Java 语言。您还需要包括 Java 绑定的 selenium-java-<version>.jar。在一个 Maven 项目中,您只需要在 pom.xml 中包含正确的依赖性,如 清单 1所示。

清单 1. Selenium-java 依赖性

<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.9.0</version> </dependency>

现在,可以开始编写测试。WebDriver API 中的主要组件是 WebDriver接口。这一公共接口在每个有效浏览器中都能实现。例如,类 FirefoxDriver将用于控制 Mozilla Firefox。清单 2展示了如何在测试当中实例化一个特定的实现。您可以采用最符合您需求的测试框架,比如 JUnit 或者 TestNG。

清单 2. 实例化的 FirefoxDriver

public class Selenium2Example1Test { @Test public void test() { // Instantiate a webDriver implementation WebDriver webdriver = new FirefoxDriver(); } }

要加载页面进行测试,可利用 get()方法。在 清单 3中,GitHub 主 (https://github.com) 被加载到先前创建的 Firefox 实例中。

清单 3. 在测试下加载页面

WebDriver webdriver = new FirefoxDriver(); webdriver.get(https://github.com);

您可在刚加载的页面上添加断言。假如您想要测试页面标题是否等于 "GitHub - Social Coding",如下 清单 4所示。WebDriver 提供 getTitle()方法;您可利用所选的测试框架来生成断言。

时间: 2024-12-31 02:24:29

Selenium一款有名的Web应用程序测试框架的相关文章

Selenium v2.0b2发布 用于Web应用程序测试的工具

Selenium也是一个用于Web应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,Mozilla和Firefox等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求. 支持自动录制动作,和自动生成.Net.Java.Perl等不同语言的测试脚本. Selenium 是 ThoughtWorks 专门为 Web 应用程序编写

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

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

IOS开发:五款最好用的AngularJS程序构建框架

  1. AngularUI Bootstrap 该 框架基于Bootstrap,一个前端框架的基础上.它包含了一组Bootstrap部件,如Carousel.Alert.Collapse. Rating和TimePicker.所有的组件都使用AngularJS指令和自定义HTML元素.如果你喜欢使用Bootstrap程序,那么这个框 架必将成为你的好帮手. 开发:五款最好用的AngularJS程序构建框架-"> 官方网站:http://angular-ui.github.io/boots

一种轻量级、可重用、可扩展的OSGi应用程序测试框架

引言 OSGi 是一个基于 Java 的,提供动态模块加载和管理的运行时框架,在业界已经得到广泛应用.OSGi 框架使用 Bundle 把复杂的应用程序模块化.在 OSGi 的框架中,Bundle 的生命周期由 OSGi 运行环境进行管理:Bundle 之间以松耦合的形式相互依赖:Bundle 有严格的访问安全限制.但也正是由于以上这些特点,给测试这些 Bundle 带来了很大的困难.许多测试用例要求被测 Bundle 及其依赖的 Bundle 同时运行于 OSGi 环境中:同时若需将测试代码和

5款最好用的AngularJS程序构建框架

如果你正打算使用AngularJS构建Web应用程序,那么你需要一段时间上手.不过你也不用担心,因为有一些框架可以让你轻松获取 AngularJS支持.并且框架中一些预先安装好的Web组件,允许你快速构建Web应用程序.下面就是五款这样的框架,这些框架可以帮助你使用 AngularJS建立基于Web的应用程. 1. AngularUI Bootstrap: 该框架基于Bootstrap,一个前端框架的基础上.它包含了一组Bootstrap部件,如Carousel.Alert.Collapse.

10款最好的Web开发的 Python 框架_python

Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器.其它方面,Python拥有足够多的免费数据函数库.免费的Web网页模板系统.还有与Web服务 器进行交互的库.这些都可以设计到你的Web应用程序里面.在这篇文章里,我们将为Python Web开发者介绍基于Python的10大Web应用框架. CubicWeb CubicWeb的最重要的

Atlassian Bonfire 2.0发布 Web应用程序测试工具

Atlassian Bonfire 是JIRA的一个附加组件,用于帮助http://www.aliyun.com/zixun/aggregation/9621.html">测试人员在测试Web应用程序时报告错误.测试人员使用浏览器扩展来提交带有注释截图的错误.可以使用模板预填充静态和动态的元数据,测试会话能够记录所有测试活动,并允许测试人员链接新发现的问题到原来的错误.该工具支持 Firefox.IE.Chrome 和 Safari. Atlassian Bonfire 2.0该版本支持分

Atlassian Bonfire 1.6发布 Web应用程序测试工具

Atlassian Bonfire 1.6该版本增加了一个快速截屏配置的键盘快捷方式,支持过滤器来缩小创建的测试会话. Atlassian Bonfire是JIRA的一个附加组件,用于帮助http://www.aliyun.com/zixun/aggregation/9621.html">测试人员在测试Web应用程序时报告错误.测试人员使用浏览器扩展来提交带有注释截图的错误.可以使用模板预填充静态和动态的元数据,测试会话能够记录所有测试活动,并允许测试人员链接新发现的问题到原来的错误.该工

Atlassian Bonfire 1.5发布 Web应用程序测试工具

Atlassian Bonfire是JIRA的一个附加组件,用于帮助http://www.aliyun.com/zixun/aggregation/9621.html">测试人员在测试Web应用程序时报告错误.测试人员使用浏览器扩展来提交带有注释截图的错误.可以使用模板预填充静态和动态的元数据,测试会话能够记录所有测试活动,并允许测试人员链接新发现的问题到原来的错误.该工具支持 Firefox.IE.Chrome 和 Safari. Atlassian Bonfire 1.5该版本的测试会