轉:Selenium2.0之grid學習總結

來源:互聯網
上載者:User

標籤:des   http   java   使用   os   io   檔案   for   

(一)介紹:

  Grid的功能:

  並存執行

  通過一個中央管理器統一控制用例在不同環境、不同瀏覽器下運行

  靈活添加變動測試機

  (二)快速開始

  這個例子將介紹如何使用selenium2.0的grid,並且註冊一個WebDriver節點。如何使用java調用grid。這裡Hub和節點都跑在同一台機器上面,但是如有你需要的話可以複製selenium-server-standalone到分布式機器上去實現。

  註:selenium-server-standalone的jar包中已經包含了grid,WebDriver和RC。Ant在2.0版本就不被需要。

  Step1:Start the hub

  Hub作為中央節點,他將接收所有的測試請求,然後分發到各個測試節點上。開啟控制台,進入selenium-server-standalone所在目錄,輸入以下指令:

  java -jar selenium-server-standalone-2.20.0.jar -role hub

  hub將會使用預設的4444連接埠啟動。如果需要更改預設連接埠,可以通過添加參數啟動。同樣可以通過訪問http://localhost:4444/grid/console查看hub的狀態:

  Step2: Start the node

  不管你是為WebDriver啟動一個grid還是為RC啟動,都只需要通過相同的selenium-server-standalone包啟動就可以了:

  java -jar selenium-server-standalone-2.20.0.jar -role node -hub http://hubhost:4444/grid/register

  註:此處的hubhost為啟動Selenium Grid hub所在機器的IP。

  (三)使用grid執行用例

  現在我們已經啟動了一個grid,那麼我需要訪問這個grid來執行我們的用例,對於RC用例,我們將繼續使用DefaultSelenium對象來跟hub進行通訊:

  Selenium selenium = new DefaultSelenium("hubhost", 4444, "*firefox", "http://www.google.com");

  而對於WebDriver用例,我們需要使用RemoteWebDriver和DesiredCapabilities對象來聲明用例需要使用的瀏覽器,版本和平台。聲明我們需要測試執行的瀏覽器:

  DesiredCapabilities capability = DesiredCapabilities.firefox();

  將capability載入到RemoteWebDriver對象:

  WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);通過這些步驟,RemoteWebDriver會把用例中的操作發送給hub,hub則根據capability將用例指派到特定的測試節點(即向hub註冊的node)上。同樣如果測試節點機器設定了capabilities的值,那麼我們需要在WebDriver對象中進行相同的設定,才能被訪問到。例如:A測試機節點通過下列項進行註冊到hub:-browser browserName=firefox,version=3.6,platform=LINUX那麼它將被這樣的用例訪問到:capability.setBrowserName("firefox" ); capability.setPlatform("LINUX"); capability.setVersion("3.6");同樣他也會匹配:capability.setBrowserName("firefox" ); capability.setVersion("3.6");可見node也是接受模糊比對的。如果capabilities沒有被指定,那麼這個用例將被忽略。同樣如果指定的capabilities不存在,則這個用例將不能運行。

  (四)配置節點:

  預設情況下,支援11款瀏覽器:5個FF,5個Chrome,1個IE。預設的最大並發數為5。不過我們可以通過命令列來變更。-browser browserName=firefox,version=3.6,maxInstances=5,platform=LINUX以上配置了一個Linux測試機節點,且可以同時並發5個FF3.6瀏覽器。如果你的測試機上存在多個版本的瀏覽器,那麼也可以通過配置具體瀏覽器的執行檔案的路徑來配置多個版本:-browser browserName=firefox,version=3.6,firefox_binary=/home/myhomedir/firefox36/firefox,maxInstances=3,platform=LINUX -browser browserName=firefox,version=4,firefox_binary=/home/myhomedir/firefox4/firefox,maxInstances=4,platform=LINUX註:firefox_binary為節點測試機上具體的FF開機檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.