Selenium 简介¶
简介¶
Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试。
为什么学习 Selenium?¶
- 企业 Web 自动化事实标准
- 支持 Python / Java / JS
- 支持 Chrome、Edge、Firefox
- 几乎所有测试岗位都会要求
- Appium 的基础就是 Selenium

Selenium 架构¶
在客户端(client)完成 Selenium 脚本编写,将脚本传送给 Selenium 服务器,Selenium 服务器使用浏览器驱动(driver)与浏览器(browser)进行交互。
Selenium 核心组件¶
- Selenium 通常是指 Selenium Suite,其中包含 Selenium IDE、Selenium WebDriver 和 Selenium Grid 三部分。
- Selenium IDE:Selenium IDE 是一个浏览器插件,可以根据用户的基本操作自动录制脚本,然后在浏览器中进行回放。
- WebDriver:WebDriver 用于模拟用户与 Web 浏览器的交互。它提供了一组 API,允许开发人员使用多种编程语言编写自动化测试脚本,控制浏览器的行为,执行点击、填写表单、导航等操作。
- Selenium Grid:Selenium Grid 是一个用于运行在不同的机器、不同的浏览器并行测试的工具,通过将测试用例分发到多个机器上运行,可以显著加快测试用例的运行速度。
Selenium 的发展¶
Selenium 被认为是一个 WebUI 自动化测试工具,实际上它由多个工具或应用组成。Selenium 发展至今一共发行了四个版本。
Selenium 1.X¶
Selenium IDE(Integrated Development Environment)是 Selenium 的早期版本,它是一个浏览器插件,允许用户通过录制和回放操作来创建简单的测试脚本。 Selenium RC(Remote Control)是一种基于 JavaScript 的框架,允许测试脚本与浏览器进行通信,但这种方式存在一些限制,例如跨浏览器兼容性等问题。
Selenium 2.X¶
Selenium WebDriver 成为 Selenium 的新核心组件,它提供了更强大、更稳定的浏览器自动化功能。
WebDriver 通过直接与浏览器通信,绕过了 Selenium RC 的一些限制,可以更好地支持多种浏览器和操作系统。
WebDriver 提供了各种编程语言的绑定,使开发者能够使用多种编程语言编写测试脚本。
Selenium2.0 = Selenium1.0 + WebDriver
Selenium 3.X¶
Selenium Grid 2 被整合到 Selenium 3 中,成为 Selenium Grid,它允许并行地在多台计算机上运行测试脚本,加快测试速度。
在 Selenium 3 中,对 WebDriver API 进行了一些改进和优化,提高了性能和稳定性。
Selenium 4.X¶
Selenium 4 是 Selenium 的最新主要版本。
Selenium 4 引入了许多新功能和改进,包括新的网格引擎、跨浏览器调试功能、相对定位策略等。
Selenium 4 提供了更好的性能、稳定性和可扩展性,同时也改善了开发者体验和用户体验。
企业使用版本¶
| 企业情况 | 推荐版本 |
|---|---|
| 新项目 | Selenium 4 |
| 老项目 | Selenium 3 或 4 |
| Selenium RC | 已淘汰 |
| Selenium IDE | 学习或简单录制 |
总结¶
- Selenium 架构
- Selenium 核心组建
- Selenium 发展历程
