Skip to content

Selenium简介

Selenium 简介

简介

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

官网地址为:https://www.selenium.dev/

Selenium 架构

uml diagram

在客户端(client)完成 Selenium 脚本编写,将脚本传送给 Selenium 服务器,Selenium 服务器使用浏览器驱动(driver)与浏览器(browser)进行交互。

Selenium 特点

  • 开源、免费。
  • 多浏览器支持:可支持 Firefox、Chrome、IE、OPera、Edge 等。
  • 多平台支持:可支持 Linux、Windows、MAC 等系统。
  • 多语言支持:可支持 Java、Python、 JavaScript 等编程语言。

由于 Selenium 的上述特点,其在软件自动化测试工作中得到了广泛的应用,已经成为软件测试人员的必备工具。

Selenium 核心组件

Selenium 通常是指 Selenium Suite,其中包含 Selenium IDE、Selenium WebDriver 和 Selenium Grid 三部分。

uml diagram

  • 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 的框架,允许测试脚本与浏览器进行通信,但这种方式存在一些限制,例如跨浏览器兼容性等问题。

uml diagram

Selenium 2.X:

Selenium2.0 = Selenium1.0 + WebDriver

Selenium WebDriver 成为 Selenium 的新核心组件,它提供了更强大、更稳定的浏览器自动化功能。 WebDriver 通过直接与浏览器通信,绕过了 Selenium RC 的一些限制,可以更好地支持多种浏览器和操作系统。 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 提供了更好的性能、稳定性和可扩展性,同时也改善了开发者体验和用户体验。