Web Automation 工具簡介 “Selenium”

網站自動化測試簡介 “Selenium”

這篇文章主要介紹 Selenium的 WebDriver 為什麼在網站自動化測試占有一席之地,什麼是 Selenium WebDriver, IDE, GRID, RC?

除了這是免費 OpenSource的工具之外,WebDriver 成為各種程式語言與各種瀏覽器溝通的橋梁。

因此,Selenium WebDriver 被普及的運作在網站的 End to End Testing. 真實的模擬人對於瀏覽器的操作行為。

 

Selenium WebDriver 可以

Selenium WebDriver 可以模擬人對於瀏覽器”所有”的操作行為!

可以處理 IE, FireFox, Safari, Chrome等..

可以處理 Browser Windows, popup, JavaScript alerts, frames 等

可以做進階的使用者行為,例如 drag and drop,例如按 Ctrl + Mouse Click、例如 Mouse move Over

可以處理 AJAX 的 UI

可以支援各式各樣的程式語言,例如 Python, Java, C#, Ruby..

Programming Language (Java, Python ) <===>  Selenium Web Driver <====> IE, FireFox, Chrome

Selenium IDE

那什麼是 Selenium IDE? Selenium為了讓開發方便,提供一個 FireFox 的套件,

不需要寫程式就可以完成 Selenium的自動化,同時自動輸出 Java or Python 的程式碼。是不是很方便呢?

Selenium GRID

什麼是 Selenium GRID呢?

Selenium GRID 提供一個讓Selenium可以同時執行在多台不同電腦環境的架構

如下圖,Selenium將程式佈署在 node 1~Node 4執行,並且最後會整測試結果在 Hub

 

Selenium RC

那麼什麼是 Selenium RC 或是 Selenium Server都是上一代的 Selenium

目前已經被現有 Selenium WebDriver 的架構取代。

Selenium 範例

最後,Selenium WebDriver 支援各種程式語言,這裡用 Java 為例子。

這個例子執行後,就會啟動 FireFox 並且瀏覽 Google.com

最後會將瀏覽 Google.com的 Window Title 印出。

[pastacode lang=”java” message=”Selenium Code Sample” highlight=”” provider=”manual” manual=”package%20com.sayem.webdriver.basic.part2%3B%0Aimport%20org.openqa.selenium.By%3B%0Aimport%20org.openqa.selenium.firefox.FirefoxDriver%3B%0Aimport%20org.testng.annotations.Test%3B%0A%0Apublic%20class%20VisitGoogle%7B%0A%0A%20%20%20%20%40Test%0A%20%20%20%20public%20void%20testBBC()%7B%0A%20%20%20%20%20%20%20%20FirefoxDriver%20driver%20%3D%20new%20FirefoxDriver()%3B%0A%20%20%20%20%20%20%20%20driver.get(%22http%3A%2F%2Fwww.google.com%22)%3B%0A%20%20%20%20%20%20%20%20System.out.println(driver.getTitle())%3B%0A%0A%0A%20%20%20%20%7D%0A%7D”/]

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *