【问题标题】:What is the difference between Selenium IDE, Selenium RC and Selenium WebDriver?Selenium IDE、Selenium RC 和 Selenium WebDriver 有什么区别?
【发布时间】:2017-09-05 19:16:04
【问题描述】:

Selenium IDE、Selenium RC 和 Selenium WebDriver 有什么区别;我们可以在什么样的项目中使用它们?任何建议将不胜感激。

【问题讨论】:

  • 好问题,你得到答案了吗?您必须按照 Selenium RC 设置代码
  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem 以及迄今为止为解决它所做的工作。

标签: selenium selenium-webdriver selenium-ide selenium-rc


【解决方案1】:

Selenium IDE 是一个 Firefox 或 Chrome 插件,允许您记录和运行使用 Firefox 运行的测试。您不能在 IDE 中执行高级测试策略,例如多次循环单个操作等,因为您无法使用任何编程语言编写测试用例。

Selenium RC 和 WebDriver 允许您选择自己感兴趣的语言来编写测试用例。在 Selenium RC 或 WebDriver 的帮助下,您几乎可以执行任何手动操作。 RC 和 WebDriver 的主要区别在于,RC 使用遥控器将您的测试转换为浏览器原生代码,您的测试与遥控器交互,而遥控器与浏览器交互,而 WebDriver 直接与浏览器交互,无需任何远程服务器,因此执行速度更快。

我在某处读到,RC 将使用某种编程语言编写的测试用例转换为 Javascript 函数(可以控制浏览器),其中 Web Driver 通过 HTTP 命令直接与浏览器通信。

Selenium RC 已被弃用,人们正在使用 WebDriver 而不是 RC。

【讨论】:

    【解决方案2】:

    Selenium 是一个开源项目,可以阅读更多详细信息here

    Selenium IDE 是一个浏览器插件(目前仅适用于 Chrome 和 Firefox)。如果想要编写网站交互(如快速错误复制),它很容易使用。问题是,它会创建非常脆弱的测试,会破坏很多。

    Selenium WebDriver 是一个以原生方式驱动浏览器的程序包。它旨在帮助开发主要与网站前端交互的自动化。其他工具,如Nightwatch.js,使用它作为核心。

    两者之间存在差异:虽然 Selenium IDE 适合制作这些探索性脚本,但 Selenium WebDriver 是一种进行实际生产就绪系统测试的方法。

    【讨论】:

      【解决方案3】:

      根据Choosing Your Selenium Tool的官方文档:

      很多人都是从Selenium IDE 开始的。如果您还没有编程或脚本语言的经验,您可以使用 Selenium IDE 来熟悉 Selenium 命令。使用 IDE,您可以快速创建简单的测试,有时只需几秒钟。

      但是,我们不建议您使用 Selenium IDE 进行所有测试自动化。要有效地使用 Selenium,您需要使用 Selenium 2Selenium 1 以及一种受支持的编程语言来构建和运行测试。你选择哪一个取决于你。

      在撰写本文时,Selenium 开发人员正计划将 Selenium-WebDriver API 作为 Selenium 的未来方向。提供 Selenium 1 是为了向后兼容。 (...)。

      (...) 但是,对于那些第一次采用 Selenium 并因此从头开始构建新测试套件的人,您可能希望使用 Selenium 2,因为这是未来将继续支持的 Selenium 的一部分。

      同样来自文档,请注意 Selenium 1 is also known as Selenium RC or Remote ControlSelenium 2 is also known as Selenium WebDriver

      【讨论】:

        【解决方案4】:

        硒 IDE 这可以通过使用浏览器(Chrome,firefox)插件​​来使用,我只是用来记录和播放测试用例。 Selenium 套件的基础项目之一。

        优点: 无需编码技能。

        缺点: 只能测试快乐路径测试用例,因为不能使用任何循环来回进行。

        硒 RC 创建的服务器充当 HTTP 代理服务器,以欺骗浏览器和应用程序相信它们都来自同一个域,也称为 Selenium 1,这里需要编码知识来编写测试用例。

        优点: 处理同源策略[通过创建的服务器]

        缺点: 服务器解决方案本身就是一个问题,因为人们总是需要本地机器上的服务器通过 Selenium RC 进行测试。

        Selenium WebDriver 这是上述问题的解决方案,因为它直接与操作系统级别的浏览器通信。不需要任何服务器的代码就可以直接与浏览器交互。

        【讨论】: