java語言

當前位置 /首頁/計算機/java語言/列表

java selenium基本教程

Selenium 是目前用的最廣泛的Web UI 自動化測試框架。 本系列文章,將深入簡出來講解selenium 的用法

java selenium基本教程

閱讀目錄

selenium 的命名

selenium 的意思是 硒 (有點QTP 殺手的意思)

QTP mercury 是水銀 硒可以對抗水銀

QTP 目前的價格是 三個單機版 十萬人民幣左右, 越來越少的人用QTP了

什麼是selenium

一套軟體工具,用來支援不同的自動化測試方法

開源軟體:可以根據需要來增加重構工具的某些功能

跨平臺:linux , windows mac

核心功能就是可以在多個瀏覽器上進行自動化測試

支援多種程式語言

目前已經被google , 百度, 騰訊等公司廣泛使用

能夠實現類似商業工具的大部分功能,並且還實現了商業工具不能支援的功能

建議大家整體學習整套工具, 將來好選擇適合自己測試目的的測試工具。

Selenium 的發展歷史

2004年在ThoughtWorks 公司, 一個叫做Jason Huggins為了減少手工測試的工作, 自己寫了一套Javascript的庫, 這套庫可以進行頁面互動, 並且可以重複的在不同瀏覽器上進行重複的測試操作。

這套庫後來變為了Selenium Core. 為Selenium Remote Control (RC) 和Selenium IDE 提供了堅實的核心基礎能力

Selenium 的作用是劃時代的,因為他允許你使用多種語言來控制瀏覽器。

瀏覽器的對JS的安全限制也對Selenium的發展帶來了困擾,並且Web程式也越來越大,特性也越來越多,都對selenium的發展來說帶來了不少困難

2006年Google 的工程師Simon Stewart開啟了一個叫做WebDriver的專案, 此專案可以直接讓測試工具使用瀏覽器和作業系統本身提供的方法, 藉此來繞過JS環境的沙盒效應, WebDriver專案目標就是為了解決Selenium的痛處

2008年北京奧運年會, Selenium 和 WebDriver 這兩個專案進行了合併, Selenium 2.0 出現了,也就是大家說的WebDriver

Selenium 的工具套件

selenium 2 (aka. Selenium Webdriver)提供了極佳的測試工具特性, 例如:關聯的物件導向API

Selenium 1 (aka. Selenium RC or Remote Control) 支援更多的'瀏覽器,支援更多的程式語言(Java, JavaScript, Ruby PHP)

Selenium IDE (整合開發環境) 是Firefox 的外掛, 有圖形介面來錄製和回放指令碼。 此外掛只是用來做原型工具,不用希望你使用這個工具來執行所有的測試指令碼

Selenium-grid 可以並行的在多個測試環境之下測試指令碼,實現指令碼的併發測試執行。 縮短大量測試指令碼集合的執行時間

選擇你的Selenium 工具

如果沒有程式設計經驗,建議選擇Selenium IDE 來熟悉Selenium 的命令。 使用IDE以快速來建立簡單的測試指令碼

我們不建議你選擇Selenium IDE 來執行自動化測試,

建議先熟悉:Selenium IDE

再進一步熟練使用Selenium-WebDriver API

WebDriver 支援的瀏覽器

IE6-10

FireFox大部分版本

Chrome

Safari

Opera

Andrioid 系統上的自帶瀏覽器

IOS系統上自帶瀏覽器

HtmlUnit的無介面實現

Selenium 1和 WebDriver 的區別

WebDriver 是Selenium 1 的升級版本, 也可以理解為兩個不同的產品

WebDriver 相比Selenium 1 來說可以更好地繞過JS的限制,API也更易於使用.

Selenium 1 比WebDriver 支援更多的瀏覽器

WebDriver 可以實現向下相容Selenium 1 的指令碼

TAG標籤:JAVA selenium #