什么是硒?

介绍

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
  • Perl
  • 红宝石

查看表

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

WebDriver简介

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

  • 爪哇
  • C#
  • PHP
  • Python
  • Perl
  • 红宝石

查看表

优点缺点
比 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 Unified Functional Testing(或 UFT)。

想要更多信息?

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