【问题标题】:What Is Selenium And What Is WebDriver?什么是 Selenium,什么是 WebDriver?
【发布时间】:2019-06-24 20:41:23
【问题描述】:

什么是硒?

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

什么是 WebDriver?

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

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

【问题讨论】:

    标签: selenium selenium-webdriver webdriver selenium3 selenium4


    【解决方案1】:

    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 浏览器行为的一种方式。

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

    【讨论】:

      【解决方案2】:

      什么是硒

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

      工具列表:

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

      Selenium RC 自 Selenium 2 起与 WebDriver 合并

      什么是 WebDriver

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

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

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

      【讨论】:

        【解决方案3】:

        什么是硒?

        可以说它是一个网络应用自动化框架。

        什么是 WebDriver?

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            什么是硒?

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

            什么是 WebDriver?

            WebDriver 是一个 API,顾名思义就是通过库和命令来驱动 Web 浏览器或控制 Web 浏览器。

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-03-03
              • 2015-09-15
              • 1970-01-01
              • 1970-01-01
              • 2011-07-12
              • 2014-07-24
              • 2015-01-24
              相关资源
              最近更新 更多