6. Selenium測試工具簡介
java
Selenium的前世此生web
1. Selenium 1.0c#
Selenium 1.0 = Selenium IDE + Selenium Grid + Selenium RC設計模式
早期的Selenium使用的是Javascript注入技術與瀏覽器打交道,須要Selenium RC啓動一個Server,將操做Web元素的API調用轉化爲一段段Javascript,在Selenium內核啓動瀏覽器以後注入這段Javascript。瀏覽器
Javascript能夠獲取並調用頁面的任何元素進行操做,實現了Selenium自動化Web操做的目的。這種Javascript注入技術的缺點是速度不理想,並且穩定性大大依賴於Selenium內核對API翻譯成的Javascript質量高低。ruby
2. Selenium 2.0工具
Selenium 2.0 = Selenium 1.0 + WebDriver學習
Selenium2.x 提出了WebDriver的概念以後,它提供了徹底另外的一種方式與瀏覽器交互。那就是利用瀏覽器原生的API,封裝成一套更加面向對象的Selenium WebDriver API,直接操做瀏覽器頁面裏的元素,甚至操做瀏覽器自己(截屏,窗口大小,啓動,關閉,安裝插件,配置證書之類的)。因爲使用的是瀏覽器原生的API,速度大大提升,並且調用的穩定性交給了瀏覽器廠商自己,顯然是更加科學。然而帶來的一些反作用就是,不一樣的瀏覽器廠商,對Web元素的操做和呈現多少會有一些差別,這就直接致使了Selenium WebDriver要分瀏覽器廠商不一樣,而提供不一樣的實現。例如Firefox就有專門的FirefoxDriver,Chrome就有專門的ChromeDriver等等。(甚至包括了AndroidDriver和iOS WebDriver)測試
3. Selenium3.0字體
Selenium 3.0 = Selenium 2.0 - Selenium RC(Remote Control)
Selenium 3.0作了一些更新:
-Selenium3.0只支持Java8版本以上。
-Selenium3.0中的Firefox瀏覽器驅動獨立了,之前裝完selenium2就能夠驅動Firefox瀏覽器了,如今和Chrome同樣,必須下載和設置瀏覽器驅動。
-MAC OS 集成Safari的瀏覽器驅動。默認在/usr/bin/safaridriver 目錄下。
-只支持IE 9.0版本以上。
6. Selenium測試工具簡介
Selenium RC VS Selenium Webdriver
6.1 Selenium自動化測試工具的基本原理
Selenium自動化測試工具的基本原理
Selenium是一個用於Web應用程序測試的工具,支持多平臺、多瀏覽器、多語言去實現自動化測試,Selenium2將瀏覽器原生的API封裝成WebDriver API,能夠直接操做瀏覽器頁面裏的元素,甚至操做瀏覽器自己(截屏,窗口大小,啓動,關閉,安裝插件,配置證書之類的),因此就像真正的用戶在操做同樣。
6.1 Selenium自動化測試工具的基本原理
Selenium自動化測試工具的基本原理
webdriver是按照server–client的經典設計模式設計的:
server端:webdriver的remote server,咱們的腳本啓動瀏覽器後,該瀏覽器就是remote server,它的職責就是等待client發送請求並作出響應。
client端:簡單說來就是測試腳本,好比打開瀏覽器,轉跳到特定的url等操做是以http請求的方式發送給被server端(也就是被測瀏覽器),server接受請求,並執行相應操做,並在response中返回執行狀態、返回值等信息。
6.1 Selenium自動化測試工具的基本原理
Selenium自動化測試工具的基本原理
The WebDriver Wire Protocol是Selenium本身設計定義的協議,這套協議很是之強大,幾乎能夠操做瀏覽器作任何事情,包括打開、關閉、最大化、最小化、元素定位、元素點擊、上傳文件等。
WebDriver Wire協議是通用的,也就是說無論FirefoxDriver仍是ChromeDriver,啓動以後都會在某一個端口啓動基於這套協議的Web Service。
例如FirefoxDriver初始化成功,默認從http://localhost:7055 開始
IE則是http://localhost:52432,以下圖:
6.2 Selenium IDE的基本使用方法
Selenium IDE是Firefox的一個插件,用於錄製、回放自動化測試腳本,相似於QTP的自動錄製功能,自動生成各類語言的自動化測試腳本,包括java、Python、ruby、c#、perl。弊端是回放腳本失敗率較高。
安裝方法:
1.打開firefox 瀏覽器,進入官方網址:http://seleniumhq.org/download/
2.找到selenium IDE的下載連接,firefox會有提示安裝插件,點擊安裝便可
Selenium IDE的使用方法
1.打開插件,如上圖
2.點擊錄製按鈕
3.在瀏覽器中打開一個新的標籤----輸入百度網址-----在搜索欄輸入「 selenium 」 點擊搜索按鈕
4.錄製完成後,點擊紅色的按鈕,結束掉錄製。
5.點擊綠色的三角按鈕回放錄製的腳本。
6.2 Selenium IDE的基本使用方法
Selenium IDE的基本使用方法
1.文件:建立、打開和保存測試案例和測試案例集.編輯:複製、粘貼、刪除、撤銷和選擇測試案例中的全部命令.Options : 用於設置seleniunm IDE.
2.用來填寫被測網站的地址.
3.速度控制:控制案例的運行速度.
4.運行全部:運行一個測試案例集中的全部案例.
5.運行:運行當前選定的測試案例.
6.暫停/恢復:暫停和恢復測試案例執行.
7.單步:能夠運行一個案例中的一行命令.
8.錄製:點擊以後,開始記錄你對瀏覽器的操做.
9.案例集列表.
10.測試腳本;table標籤:用表格形式展示命令及參數.source標籤:用原始方式展示,默認是HTML語言格式,也能夠用其餘語言展現.
11.查看腳本運行經過/失敗的個數.
12.當選中前命令對應參數.
13.日誌/參考/UI元素/Rollup 日誌:當你運行測試時,錯誤和信息將會自定顯示.
1.編輯一行命令或註釋
在Table標籤下選中某一行命令,命令由command、Target、value三部分組成。能夠對這三部份內容那進行編輯。
2. 插入命令
在某一條命令上右擊,選擇「insert new command」命令,就能夠插入一個空白,而後對空白行進程編輯。
3. 插入註解
以上面一樣的方式右擊選擇「insert new comment」命令插入註解空白行,本行內容不被執行,能夠幫助咱們更好的理解腳本,插入的內容以紫色字體顯示。
4. 移動命令或註解
有時咱們須要移動某行命令的順序,咱們只須要左擊鼠標拖動到相應的位置便可。
6.3 使用Selenium測試工具要掌握的要點
掌握定位頁面元素的方法
熟悉Selenium經常使用API
學會處理多窗口事件,包括切換frame等
會利用截圖功能作錯誤記錄
--------------------------------------------------
本博文部分資料從網上摘取,僅作學習和分享做用,並不是商業用途,若有侵權,請及時告知,以便撤下。