提问人:learningQA 提问时间:1/31/2019 最后编辑:Deepak RailearningQA 更新时间:1/25/2021 访问量:30117
什么是 Selenium,什么是 WebDriver?
What Is Selenium And What Is WebDriver?
问:
什么是硒?
当您打开Selenium的官方页面时,您首先阅读的是“什么是Selenium”部分中的“Selenium自动化浏览器”。 下面的“Selenium 的哪个部分适合我?”部分提供了 Selenium WebDriver 和 Selenium IDE 之间的选择。 由此,我推断出Selenium是一个工具的集合,该集合包括IDE,WebDriver API(语言绑定),Grid,Selenium独立服务器,浏览器驱动程序。必须下载适当的才能构建项目。
什么是 WebDriver?
WebDriver 是一个 API。它是用多种语言编写的,它们被称为语言绑定。API 具有控制浏览器的功能。您可以使用这些函数编写脚本,以您想要的方式(测试用例)控制浏览器。
这就是我所知道的。无论我错了什么,请纠正我。我想知道从面试的角度来看这两个问题的答案。
答:
什么是硒?
你可以说它是一个 Web 应用程序自动化框架。
什么是 WebDriver?
这当然是一个 API,但为了便于理解,您可以将其视为一个库集合。
硒
Selenium 是一个免费的(开源)自动化测试套件,适用于跨不同浏览器和平台的 Web 应用程序。它主要用于自动化 Web 应用程序以进行测试,但肯定不仅限于此。Selenium得到了所有主要浏览器供应商的支持,这些供应商已经采取(或正在采取措施)使Selenium成为其浏览器的原生部分。它也是无数其他浏览器自动化工具、API 和框架中的核心技术。
Selenium不仅仅是一个单一的工具,而是一组不同的软件工具,每个工具都有不同的方法来支持组织的测试自动化。从更广泛的角度来看,以前它有四个组成部分,如下所示:
- Selenium 集成开发环境 (IDE)
- Selenium 遥控器 (RC)
- 网络驱动程序
- 硒网格
一年前,Selenium RC 和 WebDriver 合并为一个框架,形成了 Selenium 2.x。也许,Selenium 1 指的是 Selenium RC。当前发布的版本是 Selenium 3.x。
网络驱动程序
Selenium-RC 对每个支持的浏览器都以相同的方式工作。当浏览器加载时,它将 javascript 函数注入浏览器,然后使用其 javascript 在浏览器中驱动 AUT。Selenium 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 编写测试的关键接口的名称,您可以使用的实现类如下所示:
- Chrome驱动程序
- 事件FiringWebDriver
- Firefox驱动程序
- HtmlUnit驱动程序
- InternetExplorer驱动程序
- 幻影JSD河
- RemoteWeb驱动程序
- Safari驱动程序
我认为还值得注意的是,WebDriver 控制着浏览器,而 Selenium 是使用 WebDriver 创建的“有线协议”从/接收来自/接收来自/向驱动程序发送/接收方法调用和数据的部分。因此,WebDriver 是从浏览器到任何其他想要与之通信的代码的桥梁。Selenium 还提供了一个接口(在编码意义上...),该接口是跨不同 WebDrivers 的标准接口。因此,当您声明 WebDriver 类型时,它正在实现接口。(无论如何,这是我目前的理解,我一直在学习新的东西!
什么是硒
它是一套可用于自动执行 Web 浏览器测试的工具。 每个工具都有不同的用途。
工具列表:
- 硒 IDE
- 硒RC
- 网络驱动程序
- 硒网格
Selenium RC 自 Selenium 2 起与 WebDriver 合并
什么是 WebDriver
Selenium WebDriver 是一个接口,允许我们在浏览器上执行测试。
Selenium WebDriver 允许我们选择您选择的编程语言来创建测试脚本。
请找到下图,解释 WebDriver 如何与浏览器通信:
什么是硒?
Selenium 是一个框架,其中编写脚本以运行和执行 webDriver,而 webDriver 反过来又控制浏览器。
什么是 WebDriver?
WebDriver 是一个 API,顾名思义,它建议使用库和命令来驱动 Web 浏览器或控制 Web 浏览器。
WebDriver 的唯一工作是控制浏览器,它对测试以及如何与浏览器交互一无所知,此时 FrameWork 进入了画面,其中编写了脚本来运行和执行 WebDriver。
评论