2010-10-24 49 views
20

我不确定我是否完全明白它们之间的区别。 WebDriver API也直接控制选择的浏览器。什么时候应该使用硒遥控器(硒RC)?Selenium的Remote Control和WebDriver有什么区别?

现在,我目前的情况是通过编写一个包含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?)
  • 硒电网运行硒RC测试套件。

我认为这比使用WebDriver API在当前工作台式计算机上运行测试效率高得多。

+0

[selenium rc和webdriver之间的关系是什么?](http://stackoverflow.com/questions/3619824/whats-the-relationship-between-selenium-rc-and-webdriver) – 2015-08-05 12:31:13

回答

3

据我所知,Webdriver的实现比Selenium RC稍晚。从我的角度来看,WebDriver是更灵活的解决方案,它修复了SeleniumRC的一些烦人的问题。

WebDriver提供测试Web GUI的标准接口。这个接口有几个实现(HTTP,特定于浏览器并基于Selenium)。既然你已经有一些webdriver的测试,你必须熟悉基本的文档一样this

测试变得越来越长和较长时间才能完成,所以我一直在寻找方法来运行在Linux服务器上的测试。

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

如果我使用sleneium遥控器,确实 这意味着我不得不重写一切 我用webdriver的API写的吗?

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

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

对于插件您可能会发现更多的信息here

14

webdriver的哈德森的细节,现在是2硒硒和webdriver的代码库被合并。 WebDriver解决了Selenium遇到的一系列问题,Selenium解决了Webdriver遇到的一系列问题。

如果您已经在Selenium中编写了测试,您不必重写它们以使用Selenium 2.我们核心开发人员已经编写了它,以便创建浏览器实例并将其注入到Selenium中, Selenium 1测试将在Selenium 2中运行。下面我为您举了一个例子。

// 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,但由于我们希望在未来几个月内达到测试应该不会太长,直到它已添加。

+2

+1。这帮助我修复了我的代码。从IDE切换到WebDriver一直是最烦人的事情。 Selenium的文档很糟糕。在例外之后,我一直不得不弄清异常。你碰巧知道任何有助于转换的文档吗?我已经了解了用户扩展部分。现在我试图找出为什么定位器不工作(如LinkText或XPath)。看起来像IDE中的格式转换实际上并不成功。 – MacGyver 2012-01-17 19:51:29

+0

对于Selenium RC如何适合基于该答案的图片,仍然有点困惑。当您说“Selenium和WebDriver代码库正在合并”时,您是否将Selenium RC称为Selenium? – 2015-04-17 14:17:32

+0

@EinDoofusyes,在这方面Selenium是Selenium RC(或者也被称为Selenium 1.0),WebDriver是WebDriver。他们一起合并到Selenium WebDriver(又名Selenium 2.0) – Stas 2015-12-07 15:22:16

相关问题