什么是 Selenium,什么是 WebDriver?

What Is Selenium And What Is WebDriver?

提问人:learningQA 提问时间:1/31/2019 最后编辑:Deepak RailearningQA 更新时间:1/25/2021 访问量:30117

问:

什么是硒?

当您打开Selenium的官方页面时,您首先阅读的是“什么是Selenium”部分中的“Selenium自动化浏览器”。 下面的“Selenium 的哪个部分适合我?”部分提供了 Selenium WebDriver 和 Selenium IDE 之间的选择。 由此,我推断出Selenium是一个工具的集合,该集合包括IDE,WebDriver API(语言绑定),Grid,Selenium独立服务器,浏览器驱动程序。必须下载适当的才能构建项目。

什么是 WebDriver?

WebDriver 是一个 API。它是用多种语言编写的,它们被称为语言绑定。API 具有控制浏览器的功能。您可以使用这些函数编写脚本,以您想要的方式(测试用例)控制浏览器。

这就是我所知道的。无论我错了什么,请纠正我。我想知道从面试的角度来看这两个问题的答案。

Selenium Selenium-Web驱动程序 Web驱动程序 Selenium4

评论


答:

0赞 Md. Imran Hassan 2/1/2019 #1

什么是硒?

你可以说它是一个 Web 应用程序自动化框架。

什么是 WebDriver?

这当然是一个 API,但为了便于理解,您可以将其视为一个库集合。

24赞 undetected Selenium 2/1/2019 #2

Selenium 是一个免费的(开源)自动化测试套件,适用于跨不同浏览器和平台的 Web 应用程序。它主要用于自动化 Web 应用程序以进行测试,但肯定不仅限于此。Selenium得到了所有主要浏览器供应商的支持,这些供应商已经采取(或正在采取措施)使Selenium成为其浏览器的原生部分。它也是无数其他浏览器自动化工具、API 和框架中的核心技术。

Selenium不仅仅是一个单一的工具,而是一组不同的软件工具,每个工具都有不同的方法来支持组织的测试自动化。从更广泛的角度来看,以前它有四个组成部分,如下所示:

  • Selenium 集成开发环境 (IDE)
  • Selenium 遥控器 (RC)
  • 网络驱动程序
  • 硒网格

一年前,Selenium RCWebDriver 合并为一个框架,形成了 Selenium 2.x。也许,Selenium 1 指的是 Selenium RC。当前发布的版本是 Selenium 3.x


网络驱动程序

Selenium-RC 对每个支持的浏览器都以相同的方式工作。当浏览器加载时,它将 javascript 函数注入浏览器,然后使用其 javascript 在浏览器中驱动 AUTSelenium WebDriver 与 Selenium-RC 的角色相同,并合并了原始的 1.x 绑定并包含了 WebDriver API。它既指语言绑定,也指各个浏览器控制代码的实现。这通常称为 WebDriver。简而言之,WebDriver 是远程控制界面,可以对用户代理进行内省和控制。WebDriver 提供了一个平台和语言中立的线路协议,作为进程外程序远程指示 Web 浏览器行为的一种方式。

WebDriver 的亮点

  • WebDriver 采用更简单、更简洁的编程界面设计,同时解决了 Selenium-RC API 中的一些限制。
  • 与 Selenium1.0 相比,WebDriver 是一个紧凑的面向对象的 API
  • 它更有效地驱动浏览器,并克服了 Selenium 1.x 的局限性,这些局限性影响了我们的功能测试覆盖率,例如文件上传或下载、弹出窗口和对话框屏障
  • WebDriver 克服了 Selenium RC 的单主机源策略的限制。

当前实施

WebDriver是应该用 Java/C#/Ruby/Python/NodeJS 编写测试的关键接口的名称,您可以使用的实现类如下所示:

0赞 pcalkins 12/7/2019 #3

我认为还值得注意的是,WebDriver 控制着浏览器,而 Selenium 是使用 WebDriver 创建的“有线协议”从/接收来自/接收来自/向驱动程序发送/接收方法调用和数据的部分。因此,WebDriver 是从浏览器到任何其他想要与之通信的代码的桥梁。Selenium 还提供了一个接口(在编码意义上...),该接口是跨不同 WebDrivers 的标准接口。因此,当您声明 WebDriver 类型时,它正在实现接口。(无论如何,这是我目前的理解,我一直在学习新的东西!

6赞 Navpreet Singh 7/18/2020 #4

什么是硒

它是一套可用于自动执行 Web 浏览器测试的工具。 每个工具都有不同的用途。

工具列表:

  1. 硒 IDE
  2. 硒RC
  3. 网络驱动程序
  4. 硒网格

Selenium RC 自 Selenium 2 起与 WebDriver 合并

什么是 WebDriver

Selenium WebDriver 是一个接口,允许我们在浏览器上执行测试。

Selenium WebDriver 允许我们选择您选择的编程语言来创建测试脚本。

请找到下图,解释 WebDriver 如何与浏览器通信:

enter image description here

1赞 varun raj 12/17/2020 #5

什么是硒?

Selenium 是一个框架,其中编写脚本以运行和执行 webDriver,而 webDriver 反过来又控制浏览器。

什么是 WebDriver?

WebDriver 是一个 API,顾名思义,它建议使用库和命令来驱动 Web 浏览器或控制 Web 浏览器。

WebDriver 的唯一工作是控制浏览器,它对测试以及如何与浏览器交互一无所知,此时 FrameWork 进入了画面,其中编写了脚本来运行和执行 WebDriver。