代码之家  ›  专栏  ›  技术社区  ›  KJW

Selenium的遥控器和WebDriver有什么区别?

  •  20
  • KJW  · 技术社区  · 14 年前

    我不太清楚这两者的区别。WebDriver API还直接控制所选浏览器。什么时候应该改用硒遥控器(selenium RC)?

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

    我对Selenium Grid,Hudson,Selenium RC感到困惑。我找到了一个用于Hudson的Selenium网格插件,但不确定这是否包括Selenium RC。

    • 哈德逊运行在少数Ubuntu专用服务器上。
    • 哈德逊运行Xvnc&Selenium网格插件。(我需要单独安装Firefox吗?)
    • 运行Selenium RC测试套件的Selenium网格。

    2 回复  |  直到 12 年前
        1
  •  3
  •   Kel    9 年前

    据我所知,Webdriver的实现开始得比Selenium RC稍晚。在我看来,WebDriver是一个更灵活的解决方案,它解决了SeleniumRC的一些烦人的问题。

    WebDriver为测试web GUI提供了标准接口。这个接口有几个实现(HTTP、特定于浏览器和基于Selenium)。因为您已经有了一些WebDriver测试,所以必须熟悉基本的文档,如 this

    测试要完成的时间越来越长,所以我一直在寻找在linux服务器上运行测试的方法。

    你试着找出实际的瓶颈了吗?我不确定,删除WebDriver层是否有帮助。我认为,大部分时间都花在Selenium命令发送和HTTP请求到被测系统上。

    如果我用的是sleneium遥控器 我用WebDriver API写的?

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

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

    here

        2
  •  14
  •   AutomatedTester    14 年前

    WebDriver现在是Selenium 2。Selenium和WebDriver代码库正在合并。WebDriver克服了Selenium的一些问题,Selenium克服了WebDriver的一些问题。

    // You may use any WebDriver implementation. Firefox is used here as an example
    WebDriver driver = new FirefoxDriver();
    
    // A "base url", used by selenium to resolve relative URLs
    String baseUrl = "http://www.google.com";
    
    // Create the Selenium implementation
    Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);
    
    // Perform actions with selenium
    selenium.open("http://www.google.com");
    selenium.type("name=q", "cheese");
    selenium.click("name=btnG");
    

    不幸的是,硒2还没有加入硒2,但它应该不会太久,直到它被添加,因为我们希望在未来几个月内达到β。