2010-10-24 48 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

相關問題