• Selenium Video Tutorials

Selenium——自动化测试



Selenium 主要用于自动化 Web 应用程序的测试。它是免费的,不需要任何许可费用。与手动测试相比,使用 Selenium 进行自动化测试更受青睐,因为使用 Selenium 进行自动化测试比手动测试具有更好的投资回报率。

不同类型的 Selenium 测试

Selenium 可用于创建不同类型的测试,如下所示:

  • 功能测试——这些测试有助于检查被测应用程序或产品的各种新功能。
  • 回归测试——这些测试有助于检查代码更改是否破坏了应用程序的现有功能。
  • 冒烟测试——这些测试有助于验证新版本是否足够稳定,可以对其进行测试。
  • 集成测试——这些测试有助于验证所有模块的集成是否作为一个单元一起工作。
  • 单元测试——这些测试由开发人员创建以测试他们的代码。

Selenium 自动化测试工具

Selenium 包含一组工具,通常称为 Selenium 组件。这些工具列在下面:

  • Selenium IDE——它作为 Chrome 和 Firefox 浏览器的附加组件提供。
  • Selenium Remote Control——它是一个用 Java 开发的服务器,允许使用多种语言(如 Java、Perl、Python 等)编写自动化测试。
  • Selenium WebDriver——它是一个可以与 TestNG、JUnit 等其他框架集成的工具,并且可以与多种编程语言一起使用。
  • Selenium Grid——它是一个有助于在各种平台和浏览器上实现并行执行的工具。

Selenium 3.x 和 4.x 之间的区别

Selenium 的最新版本是 4.x 版本。从 Selenium 4 版本开始,整个架构完全兼容 W3C(万维网联盟),这意味着 Selenium 4 遵循 W3C 提供的所有标准和指南。

Selenium 3.x 和 Selenium 4.x 之间的基本区别在于,在 Selenium 3 中,客户端和服务器之间的通信通过 JSON Wire 协议完成,但是从 Selenium 4 开始,遵循 W3C 指南,服务器和客户端之间可以直接通信。

在 Selenium 4 之前,客户端和服务器之间的通信是使用 HTTP 上的 JSON Wire 协议进行的。但是,从 Selenium 4 开始,JSON Wire 协议不再存在,客户端和服务器之间使用 W3C 协议直接通信。

此外,Selenium 4 提供了一些额外的定位器(除了常规的定位器,如 id、class、xpath 等),称为相对定位器,可以使用 above、below、near、toRightOf、toLeftOf 方法以及多个相对定位器的链式调用。Selenium 4 还允许访问 ChromeDevTools,这有助于调试、网络流量分析以及其他有助于自动化的功能。

Selenium WebDriver 4.0 版本的简化架构图如下所示:

Selenium Automation Testing

为什么使用 Selenium 进行自动化测试?

  • 使用 Selenium 编写的自动化测试可以用多种编程语言编写,例如 Java、C#、Python、JavaScript 等。
  • Selenium WebDriver 支持 Chrome、Firefox、Safari、IE 等浏览器。
  • Selenium WebDriver 可以在多个平台上运行,例如 Windows、Mac、Linux、Android 等。
  • 可以使用 HTMLUnit Driver 实现无头执行。
  • Selenium WebDriver 不需要服务器来启动测试执行,它直接与浏览器通信。
  • Selenium 是开源的,无需任何许可费用。
  • Selenium 可以扩展到各种公开 DOM 的技术。
  • Selenium 拥有庞大的社区支持来解决问题。

使用 Selenium 的缺点

  • Selenium 只支持基于 Web 的应用程序。
  • Selenium 不应用于自动化 QR 码、验证码和条形码场景的测试。
  • Selenium 没有内置的对象存储库或恢复方案。
  • Selenium 没有默认的测试报告生成。
  • Selenium WebDriver 需要编程和技术知识才能开发自动化测试。
  • Selenium WebDriver 需要时间才能与新的浏览器更好地兼容和稳定。
  • Selenium WebDriver 难以设置,因为没有供应商支持。

使用不同的语言运行 Selenium 自动化测试

Selenium 可以使用多种编程语言(如 Java、Python、Ruby、JavaScript 等)在多个浏览器、平台和设备上测试 Web 应用程序。根据我们使用的语言,配置 Selenium 测试所需的先决条件也会发生变化。以下链接将帮助您在不同的语言中设置和运行 Selenium 自动化测试:

本教程对 Selenium 自动化测试进行了全面的讲解。我们首先介绍了 Selenium 是什么,不同类型的 Selenium 测试,Selenium 自动化测试工具,Selenium 3.x 和 Selenium 4.x 之间的区别,为什么使用 Selenium 进行自动化测试,Selenium 的缺点以及如何在不同的语言中运行 Selenium 自动化测试。

这使您掌握了 Selenium 自动化测试的深入知识。明智的做法是不断练习您所学的内容,并探索与 Selenium 相关的其他内容,以加深您的理解并拓宽您的视野。

广告