当前位置: 首页 > 面试题库 >

Selenium的Remote Control与WebDriver之间有什么区别?

丘普松
2023-03-14
问题内容

我不确定我是否完全理解其中的区别。WebDriver API还直接控制选择的浏览器。什么时候应该使用selenium遥控器(selenium RC)?

现在,我目前的情况是通过编写带有Selenium WebDriver
API的套件并使其在我的计算机上运行来测试Web应用程序。测试花费的时间越来越长,因此我一直在寻找在Linux服务器上运行测试的方法。

如果我使用Selenium Remote Control,这是否意味着我必须重写用WebDriver API编写的所有内容?

我对Selenium Grid,Hudson和Selenium RC感到困惑。我为Hudson找到了一个Selenium
Grid插件,但不确定是否包括Selenium RC。

我走的路线正确吗?我设想以下架构:

  • Hudson在少数Ubuntu专用服务器上运行。
  • Hudson与Xvnc和Selenium Grid插件一起运行。(我需要单独安装Firefox吗?)
  • 运行Selenium RC测试套件的Selenium网格。

我认为这比在我当前使用WebDriver API的台式计算机上运行测试要省时得多。


问题答案:

据我了解,Webdriver的实施开始于Selenium
RC才开始。在我看来,WebDriver是更灵活的解决方案,它解决了SeleniumRC的一些烦人的问题。

WebDriver提供了用于测试Web
GUI的标准界面。该接口有几种实现方式(HTTP,特定于浏览器并基于Selenium)。由于您已经有一些WebDriver测试,因此您必须熟悉像这样的基本文档

测试的完成时间越来越长,因此我一直在寻找在Linux服务器上运行测试的方法

您是否尝试找到实际的瓶颈?我不确定,消除WebDriver层是否有帮助。我认为,大多数时间都花在Selenium命令发送和HTTP请求到被测系统上。

如果我使用slenium遥控器,是否意味着我必须重写用WebDriver API编写的所有内容?

通常,是的。如果您没有在测试代码和WebDriver之间实现一些附加层。

至于Selenium Grid:您可以在几个不同的[虚拟]节点上启动几个Selenium RC实例,然后在Selenium
Grid中注册它们。您的测试将连接到Selenium Grid,它将所有命令重定向到SeleniumRC实例,并根据所需的浏览器进行协调。

有关hudson插件的详细信息,您可以在此处找到更多信息



 类似资料:
  • 'selenium-server-standalone.jar'和'selenium Client&WebDriver'在实现上有什么不同。以下是Seleniumhq.org网站[http://www.seleniumhq.org/download/]的链接。 http://selenium-release.storage.googleapis.com/2.44/selenium-server-s

  • Selenium IDE、Selenium RC和Selenium WebDriver之间的区别是什么;在什么样的项目中我们可以使用每一个?任何建议都将不胜感激。

  • 问题内容: Selenium似乎有很多不同的组成部分,并且网站对它们的解释不是很好,我还是有些困惑。之间的区别或目的是什么? Selenium IDE Selenium服务器Selenium远程控制WebDriver Selenium 2 我的理解如下: Selenium IDE 是一个GUI插件,用于在Selenese / HTML中快速建立测试用例的原型。 Selenium Server 是一

  • 问题内容: 和之间的基本区别是什么? 问题答案: 从WebDriver和Selenium RC引用: Selenium- WebDriver使用每个浏览器的本机自动化支持直接调用浏览器。这些直接调用的方式以及它们支持的功能取决于您使用的浏览器。本章稍后将提供有关每个“浏览器驱动程序”的信息。 对于那些熟悉Selenium-RC的人来说,这与您习惯的完全不同。Selenium-RC对于每种受支持的浏

  • 问题内容: Selenium中的WebDriver和WebElement有什么区别? 样例代码: 问题答案: WebDriver界面 从Selenium的角度看,硒中的ChromeDriver和WebDriver有什么区别? 界面 就像是该第三方一个协议类似 浏览器厂商 喜欢 Mozilla的 , Chrome浏览器 , Internet浏览器 , Safari浏览器 等必须坚持和贯彻的一样。反过

  • 问题内容: 如果我们创建: chrome驱动程序方法将被执行。 如果我们创建: 再次执行方法(按方法覆盖)。 那为什么只在执行时才写后一个呢? 问题答案: ChromeDriver驱动程序=新的C​​hromeDriver(); 如果您使用将通过其创建的 ChromeDriver 实例,则我们将只能调用和执行由 ChromeDriver 实现且仅受 Chrome浏览器 支持的方法。要与其他浏览器配