# 3.Selenium 的历史

> 原文： [https://javabeginnerstutorial.com/selenium/3-history-selenium/](https://javabeginnerstutorial.com/selenium/3-history-selenium/)

哎呀！ 准备过去一段时间吗？ 准备好被今天要出土的宝石所震撼。

很久以前，在 2004 年，有一个来自芝加哥 ThoughtWorks 的人叫 Jason Huggins。 他将 Selenium 的**核心**模式构建为“JavaScriptTestRunner”，以验证他正在测试的 Web 应用，时间和费用应用的行为。 他以一种人们可以使用 HTML 文件中的关键字驱动方法编写测试的方式来构建它。

慢慢地，他开始向大量受众展示他的工具的演示。 不久，人们开始讨论将该工具开源，并使其成为可重用的框架，以使其他此类基于 Web 的应用自动化。 这就是 **Selenium** 核心的故事。

不过，Core 还是有一些限制，例如“原产地政策”。 好的大字警报！ 首先，让我们了解一下原点是什么。

来源不过是 URL 的方案，主机和端口。 因此，根据该策略，由于主机不同，因此不允许尝试访问从 http://abc.org/sample.html 检索的文档的 DOM 来检索文档。 另一个示例，我从 <http://example.com/>（端口：80）启动了一个 JavaScript 程序，由于端口不同，根据此策略，<https://example.com>（端口：443）变得不可访问。

现在，又有一个来自 ThoughtWorks 的名叫 Paul Hammant 的人通过提出 **Selenium 1** 或 **Selenium RC**（远程控制）来规避此限制。 它具有一个 Selenium 客户端和一个 Selenium 服务器。 客户端将命令发送到服务器，并且该服务器将使用 JavaScript 驱动浏览器。 因此，它不会直接挂钩到任何浏览器 API。 它还支持多种编程语言，我们将在后面详细介绍。

现在到下一个！ **Selenium IDE** 不仅是最简单，最简单的工具，而且是在 Selenium Suite 中提供最少自动化编程脚本所需的最少编程知识的唯一工具。 我知道您会很想知道谁提出了这个宝石。 顺便说一下，这是“日本制造”的产品。 开发此工具的功劳归功于 Shinya Kasatani。 他是意识到 Selenium Core 代码可以包装到 IDE（集成开发环境）模块中并可以插入 Firefox 浏览器的人。 它具有记录和播放功能，比您期望的要酷！ 让我们将其保存以备后用。

在 2007 年前后，ThoughtWorks 的另一个名叫 Simon Stewart 的人正在开发另一个名为 **WebDriver** 的 Web 测试工具，该工具不依赖 JavaScript。 与 Selenium RC 相比，它不仅为每个浏览器都有一个客户端，而且还有一个“更高级别”的 API。 这两个项目合并了，现在我们有了新的 Selenium 或 **Selenium 2**。

啊哈，所以结论是：

*   Selenium RC = Selenium 1
*   Selenium 与 WebDriver 合并 = Selenium 2

希望您喜欢这次旅行。 在另一篇文章中再见。 祝你有美好的一天！

