什么是硒?

介绍

Selenium 是一套用于 Web 应用程序的开源测试工具,可以跨多个平台和浏览器使用。 Selenium 由四种不同的工具组成,每种工具都提供不同的测试功能。

Selenium 测试套件的组成部分

  • Selenium 集成开发环境 (IDE)
  • 硒网格
  • 网络驱动程序
  • 硒RC

“同源”政策问题

“同源”策略问题是 Web 应用安全框架中的一个基本前提。 根据该准则,浏览器只允许在单个域中执行 JavaScript。 “源”的特征是主机名、端口号和 URI 方案的混合。 简而言之,该指令禁止位于 abc.com 页面上的恶意 JavaScript 获取对位于 xyz.com 上的不同网页上的机密数据的访问权限。

我们在这里只提到“同源”策略问题,因为由于 Selenium 的核心语言是基于 JavaScript 的,它最初需要安装在运行测试的同一域中,这导致了问题。 后来通过使用代理解决了这个问题。

Selenium IDE 简介

Selenium IDE 或集成开发环境允许我们记录、编辑和调试测试。 它可以作为 Firefox/Chrome 插件使用,可以像任何其他浏览器插件一样轻松安装。 由于其简单性,Selenium IDE 只能用作具有 Selenium RC 和 WebDriver 功能的原型设计工具。

查看表

优点 缺点
Selenium 非常易于使用和安装 不是为了生产测试原型而设计的
需要 HTML 和 DOM 的知识,
但不需要其他编程语言
开发为原型工具
Selenium IDE 可以将测试导出到 Selenium RC 和 WebDriver 工具 不支持条件操作和迭代
Selenium IDE 内置了帮助选项以及测试结果报告模块 与 Selenium RC 和 WebDriver 相比,测试执行速度较慢
Selenium IDE 还提供对扩展的支持

Selenium RC 简介

Selenium RC 是整个 Selenium 项目的基石测试框架。 它是第一个允许用户使用首选编程语言的自动化 Web 测试工具。 从 2.25.0 版本开始,Selenium RC 支持以下编程语言:

  • 爪哇
  • C#
  • PHP
  • Python
  • 珀尔
  • 红宝石

查看表

优点 缺点
跨浏览器和跨平台 安装比IDE复杂
可以执行循环和条件操作 用户必须具备编程知识
可以支持数据驱动测试 需要运行 Selenium RC 服务器
拥有成熟完整的API API 包含冗余和混乱的命令
可以很容易地支持新的浏览器 浏览器交互不太现实
执行速度比 IDE 快 它可以提供不一致的结果并使用 JavaScript
执行速度比 WebDriver 慢

WebDriver 简介

Selenium WebDriver 证明自己在许多方面都优于 Selenium IDE 和 Selenium RC。 它可以实现一种更现代、更稳定的方法来自动化浏览器的操作。 它不依赖 JavaScript 进行自动化,而是通过直接与浏览器通信来控制浏览器。 它还支持与 Selenium RC 相同的语言:

  • 爪哇
  • C#
  • PHP
  • Python
  • 珀尔
  • 红宝石

查看表

优点 缺点
比 Selenium RC 更直接的安装 安装比 Selenium IDE 复杂
直接与浏览器通信 需要编程知识
浏览器交互更真实 不能轻易支持浏览器
无需单独的组件,例如 RC 服务器 没有用于记录运行时消息和生成测试结果的内置机制
执行时间比 IDE 和 RC 快

Selenium Grid 简介

当与 Selenium RC 一起使用时,Selenium Grid 允许同时跨不同的机器和浏览器进行测试。

硒网格的特点:

  • Selenium Grid 允许在不同的浏览器和环境中同时运行多个测试。
  • Selenium Grid 在节省时间方面非常具有成本效益。
  • Selenium Grid 还利用了集线器和节点的想法。 集线器充当基于 Selenium 的命令的中心位置,这些命令分散到与其连接的每个节点。

既然我们已经概述了 Selenium 是什么、它的用途以及它使用的流行工具是什么,我们就到此为止。 在我们的下一篇文章中,我们将介绍每个单独工具的安装、它们的使用方式,以及 Selenium 与其主要竞争对手 QTP(HP Quick Test Pro)(现称为 Micro Focus 统一功能测试(或 UFT))之间的比较。

想要更多信息?

我们可以提供多个用例示例,其中 Selenium 可以帮助您在多个环境中对您的应用程序进行单元测试。