一尘不染

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

selenium

我不确定我是否完全理解其中的区别。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的台式计算机上运行测试要省时得多。


阅读 369

收藏
2020-06-26

共1个答案

一尘不染

据我了解,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插件的详细信息,您可以在此处找到更多信息

2020-06-26