參考:http://www.51testing.com/zhuanti/selenium.html,http://www.cnblogs.com/fnng/p/3653793.htmljavascript
Selenium是一個用於Web應用程序測試的工具,是ThoughtWorks專門爲Web應用程序編寫的一個驗收測試工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操做同樣。、css
Selenium 如今存在2個版本,一個叫 selenium-core, 一個叫selenium-rc 。html
selenium 不是簡單的一個工具,而是由幾個工具組成,每一個工具都有其特色和應用場景。前端
selenium 1.0java
IDE:錄製(只能用於FF,而後轉化成其餘語言,使用RC去調用)python Grid:並行程序的執行web RC:程序編寫及運行編程 Selenium Core:基於JsUnit,由JS編寫,可運行於任何支持JS的瀏覽器。api |
selenium IDE 是嵌入到Firefox瀏覽器中的一個插件,實現簡單的瀏覽器操做的錄製與回放功能。那麼什麼狀況下用到它呢?快速的建立bug重現腳本,在測試人員的測試過程當中,發現了bug以後能夠經過IDE將重現的步驟錄製下來,以幫助開發人員更容易的重現bug。IDE錄製的腳本能夠轉換成多種語言,從而幫助咱們快速的開發腳本,關於這個功能後而用到時再詳細介紹。瀏覽器
Selenium Grid是一種自動化的測試輔助工具,Grid經過利用現有的計算機基礎設施,能加快Web-app的功能測試。利用Grid,能夠很方便地同時在多臺機器上和異構環境中並行運行多個測試事例。其特色爲:
selenium RC 是selenium 家族的核心工具,selenium RC 支持多種不一樣的語言編寫自動化測試腳本,經過selenium RC 的服務器做爲代理服務器去訪問應用從而達到測試的目的。
selenium RC 使用分爲Client Libraries和selenium Server:
selenium 2.0
搞清了selenium 1.0 的家族關係,selenium 2.0 是把WebDriver 加入到了這個家族中;簡單用公式表示爲:
selenium 2.0 = selenium 1.0 + WebDriver |
須要強調的是,在selenium 2.0 中主推的是WebDriver ,WebDriver 是selenium RC 的替代品,由於 selenium 爲了向下兼容性,因此selenium RC 並無完全拋棄,若是你使用selenium開發一個新自動化測試項目,強列推薦使用WebDriver 。那麼selenium RC 與webdriver 主要有什麼區別呢?
若是是新項目直接學習webdriver 就OK了,RC是過期技術。
(1)selenium進行的自動化測試是基於ui層面的,因此html,css,javascript基本上是必不可少的,至於javascript,有不少的前端都使用javascript做爲其腳本語言!不過javascript並不須要學得很深,只須要掌握一些基礎的知識,而後在實踐中碰到的時候再繼續深學下去!
(2)掌櫃一門編程語言,好比java,C#,python,ruby!很明顯,如果有開發語言的基礎,則寫腳本的時候也不會太費力,這也是一項基本功!目前,使用java仍是偏多的!另外也是因爲selenium支持多種語言寫測試腳本!自動化測試腳本並不能靠錄製出來的,基本上是要靠本身寫出來的,畢竟錄製的腳本的弊端不少,尤爲是前端使用了某些框架以後,錄製的腳本基本成爲雞肋!
(3)單元測試框架junit/testing,目前不少人採用selenium+junit或者selenium+testng測試架構,因此,須要掌握能配合selenium進行測試的框架,好比junit/testng,僅僅利用其提供的api即可以大大地輔助你的測試,提高測試效率!
一、JDK1.6
二、Eclipse:Version: Kepler Service Release 1,下載地址:http://www.eclipse.org/downloads/
三、Selenium:selenium-java-2.39.0.zip,下載地址:http://code.google.com/p/selenium/downloads/list
解壓selenium-java包,這個包裏面包含四部分,以下圖:
一、建立一個java項目:
二、而後把上面解壓出來的文件拷到新建的project目錄下,目錄結構以下圖:
三、添加build path,項目目錄右鍵-->Build Path--> config build path-->Java Build Path-->Libraries-->Add JARs,把libs文件夾下的jar包所有添加上,再添加selenium-java-2.48.2-srcs.jar和selenium-java-2.48.2.jar
三、添加完以後目錄結構以下圖,多了Referenced Libraries,這裏就是上面那一步添加進去的jar包:
至此,環境工做準備就緒,下面來寫一個簡單的小例子。
四、在src下面新建測試類,以下圖:
五、添加代碼,實現:打開百度,而後在百度搜索框輸入helloworld,點擊搜索按鈕,關閉瀏覽器。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.*; public class TestClass { public static void main(String[] args) { //若是火狐瀏覽器沒有默認安裝在C盤,須要制定其路徑 //System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe"); WebDriver driver = new FirefoxDriver(); driver.get("http://www.baidu.com/"); driver.manage().window().maximize(); WebElement txtbox = driver.findElement(By.name("wd")); txtbox.sendKeys("HelloWorld"); WebElement btn = driver.findElement(By.id("su")); btn.click(); driver.close(); } }
而後直接右鍵-->Run As-->Java Application就能夠看到效果了。