首页 > 解决方案 > 什么是 Selenium,什么是 WebDriver?

问题描述

什么是硒?

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

什么是 WebDriver?

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

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

标签: seleniumselenium-webdriverwebdriverselenium3selenium4

解决方案


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 中编写测试的关键接口的名称,您可以使用的实现类如下所示:


推荐阅读