14

什么是硒?

打开 Selenium 的官方页面,首先看到的是《什么是 Selenium?》中的“Selenium 自动化浏览器”。部分。“Selenium 的哪个部分适合我?”部分 下面提供了 Selenium WebDriver 和 Selenium IDE 之间的选择。由此,我推断 Selenium 是一个工具集合,该集合包括 IDE、WebDriver API(语言绑定)、Grid、Selenium Standalone Server、浏览器驱动程序。一个人必须下载适当的来构建一个项目。

什么是 WebDriver?

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

这是我所知道的。请在我错的地方纠正我。我想从面试的角度知道这两个问题的答案。

4

5 回答 5

19

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

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

  • Selenium 集成开发环境 (IDE)
  • 硒遥控器 (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 的Single Host origin policy的限制。

当前实施

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

于 2019-02-01T15:30:17.263 回答
2

什么是硒

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

工具清单:

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

Selenium RC 自 Selenium 2 起与 WebDriver 合并

什么是 WebDriver

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

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

请在下面找到解释 WebDriver 如何与浏览器通信的图像:

在此处输入图像描述

于 2020-07-18T14:01:28.147 回答
0

什么是硒?

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

什么是 WebDriver?

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

于 2019-02-01T04:57:03.013 回答
0

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

于 2019-12-06T18:34:18.720 回答
-1

什么是硒?

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

什么是 WebDriver?

WebDriver 是一个 API,其名称本身就暗示了通过使用库和命令来驱动 Web 浏览器或控制 Web 浏览器。

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

于 2020-12-17T01:12:58.290 回答