• Selenium Video Tutorials

Selenium - 组件



Selenium 组件通常被称为 Selenium 工具套件。总共有四个工具,统称为 Selenium 组件。让我们讨论 Selenium 的各个组件 -

  • Selenium IDE

  • Selenium RC

  • Selenium Webdriver

  • Selenium Grid

Selenium IDE

Selenium 集成开发环境是 Selenium 套件的重要组成部分。它最初开发为 Firefox 插件,但现在在 Firefox 和 Chrome 浏览器中都可用。Selenium IDE 的一些特性如下所示 -

  • 在 Selenium IDE 中可以完成功能测试的录制、调试、执行和编辑。

  • Selenium IDE 中的脚本是用 Selenese 开发的,Selenese 是 Selenium 中的一种脚本语言。

  • Selenium IDE 命令帮助我们执行诸如点击按钮或链接、在编辑框中输入内容、从 Web 元素中获取文本等任务。

  • Selenium IDE 测试可以转换为 Java、C#、Python、TestNG 等格式。它的默认格式为 .html。

  • Selenium IDE 测试可以导出并在 Selenium Webdriver 和 Selenium RC 中使用。

  • Selenium IDE 不需要技术或编程知识。因此,它只能用于测试简单的场景,而不能用于涵盖任何复杂的用例。

  • Selenium IDE 没有提供用于数据驱动测试的测试参数化功能。

  • 如果 Selenium IDE 用于复杂的测试项目,则对象和其他可重用组件的维护将很困难。

Selenium 远程控制

Selenium 远程控制是用 Java 实现的服务器。它可以使用 HTTP 接受浏览器的命令。Selenium RC 具有 Selenium RC 服务器和 Selenium RC 客户端。Selenium RC 已过时,已被 Selenium 弃用。

Selenium RC 的一些特性如下所示 -

  • Selenium RC 中的自动化测试可以用任何编程语言开发,例如 Java、Python、C# 等。

  • Selenium RC 可用于编写自动化测试以测试 Web 应用程序。

  • Selenium RC 包含一个代理服务器,该服务器允许浏览器工作,就像被测应用程序在代理服务器的域中可用一样。

  • 要启动测试执行,我们必须创建 Selenium RC 服务器的实例。

Selenium WebDriver

Selenium WebDriver(从 Selenium 2 版开始)是 Selenium RC 的继任者,它直接向浏览器发送命令并检索结果,因此它比 Selenium RC 更快。它接收命令并将它们传递给浏览器。这是借助浏览器驱动程序完成的,浏览器驱动程序将命令发送到浏览器并获取结果。

Selenium 2 版将 Selenium RC 和 Selenium Webdriver 的有用功能合并到 Selenium Webdriver 中。后来 Selenium 3 为 Selenium Webdriver 添加了更多功能。

Selenium Webdriver 的一些特性如下所示 -

  • 自动化测试可以用多种编程语言编写,例如 Java、C#、Python、JavaScript 等。

  • Selenium webdriver 支持 Chrome、Firefox、Safari、IE 等浏览器。

  • Selenium webdriver 在多个平台上运行,例如 Windows、Mac、Linux、Android 等。

  • 借助 HTMLUnit Driver 可以实现无头执行。

  • Selenium webdriver 不需要服务器来启动测试执行,它直接与浏览器通信。

  • Selenium webdriver 是开源的,没有任何许可费用。

  • Selenium Webdriver 没有 IDE,因此创建测试脚本非常耗时。

  • Selenium Webdriver 仅支持基于 Web 的应用程序。

  • Selenium Webdriver 不支持自动化 QR、验证码和条形码场景。

  • Selenium Webdriver 没有对象存储库/恢复场景等功能。

  • Selenium Webdriver 没有默认的测试报告生成。

  • Selenium Webdriver 需要编程和技术知识来开发自动化测试。

  • Selenium Webdriver 需要时间才能与新浏览器更好地兼容和稳定。

  • Selenium Webdriver 难以设置,因为没有供应商支持。

  • Selenium Webdriver 可以扩展到公开 DOM 的各种技术。

  • Selenium Webdriver 拥有庞大的社区支持,可以在出现问题时提供帮助。

Selenium Grid

Selenium Grid 主要用于并行测试。它遵循集线器(它是中心部分,其余部分被视为节点)和节点架构。Selenium Grid 使我们能够在多台机器上同时执行各种测试。Selenium Grid 主要用于测试执行,而不是设计。

Selenium Grid 的一些特性如下所示 -

  • 存在一个集线器机器,它使用 Selenium Grid 指导多台机器上的执行。此外,还有多台节点机器,在那里进行实际执行。

  • Selenium Grid 支持在多个浏览器和平台上进行测试。

    通过允许测试并行执行来减少执行时间。

目前最新的 Selenium 版本是 4。从 Selenium 4 版本开始,整个架构完全兼容 W3C - 万维网联盟,这意味着 Selenium 4 遵循 W3C 提供的所有标准和指南。我们可以从以下链接获取有关 W3C 的更多信息:

https://tutorialspoint.com/world-wide-web-consortium-w3c.

Selenium 3 和 Selenium 4 之间最基本的区别在于,在 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 的各个组件。

广告