Selenium瀏覽器自動化測試使用(1)

jopen 8年前發布 | 83K 次閱讀 Selenium 測試工具

</div>

Selenium - 介紹

Selenium是一個開源的和便攜式的自動化軟件測試工具,用于測試Web應用程序有能力在不同的瀏覽器和操作系統運行。Selenium真的不是一個單一的工具,而是一套工具,幫助測試者更有效地基于Web的應用程序的自動化。

現在讓我們了解selenium套件和使用這些工具。我們將著眼于以下工具功能:

工具 描述
Selenium IDE Selenium 集成開發環境(IDE)是一個Firefox插件,可以讓測試人員跟著,需要測試的工作流程,以記錄他們的行為。
Selenium RC Selenium遠程控制(RC)為旗艦測試框架,它允許多個簡單的瀏覽器動作和線性執行。它使用的編程語言,如Java,C#,PHP,Python和Ruby和Perl的強大功能來創建更復雜的測試。
Selenium WebDriver Selenium的webdriver前身是Selenium RC,直接發送命令給瀏覽器,并檢索結果。
Selenium Grid Selenium網格用于運行在不同的機器,不同的瀏覽器同時以最小化執行時間的并行測試的工具。

Selenium優勢

QTP和Selenium 都是市場上軟件自動化測試最常用的工具。因此,selenium有更多的意義,現在selenium比較QTP/ UFT有更多的優點。

Selenium QTP/UFT
Selenium 是一種開源工具。 QTP是一個商業工具和成本涉及許可證。
可以擴展它公開DOM各種技術。 有限的附加組件和需要附加組件的技術。
可以在不同瀏覽器執行腳本。 可以運行測試在Firefox,IE和Chrome瀏覽器的特定版本。
可以執行各種操作系統的腳本。 僅適用于Windows操作系統。
支持的移動設備。 支持第三方工具的移動設備。
執行在瀏覽器中測試,這不是必需的,重點是腳本執行的進度。 腳本執行的工具作用于瀏覽器(模擬用戶操作)過程中需要重點
可以并聯使用Selenium網格運行測試。 QTP不能并行執行測試,但與質量控制整合QTP允許測試并行執行。質量控制也是一種商業工具。

Selenium 缺點

現在我們討論selenium較QTP的缺陷。

Selenium QTP/UFT
僅支持基于Web的應用程序。 可以測試Web和桌面應用程序。
任何功能部件,例如對象存儲庫/恢復方案 QTP已經或和恢復方案內置。
沒有IDE,所以這樣的腳本開發,不會快于QTP。 更直觀的IDE,自動化,可以實現更快。
不能在瀏覽器中訪問控制 可以在瀏覽器中訪問控制,如收藏夾欄,后退和前進按鈕。
沒有默認生成測試報告。 默認的測試結果生成工具中。
用于參數設置,用戶必須依賴于編程語言 參數是內置的,易于實現。

Selenium - IDE

Selenium的IDE(集成開發環境)是一個易于使用的Firefox插件,用于開發Selenium測試案例。它提供了一個圖形用戶界面,用于記錄使用Firefox瀏覽器,用來學習和使用Selenium用戶操作,但它只能用于只用Firefox瀏覽器不支持其它瀏覽器。

然而,所記錄的腳本可以被轉換成由Selenium 支持多種編程語言和腳本可以在各種其它的瀏覽器,以及被執行。

點擊表格中了解詳細列出了以下每一個功能。

Title 描述
下載Selenium IDE 本節介紹如何下載和配置Selenium IDE
Selenium IDE 特性 本節介紹在Selenium IDE使用的功能
創建Selenium IDE 測試 本節介紹了如何使用記錄功能創建IDE測試
Selenium IDE 腳本測試 本節介紹Selenium IDE腳本的調試
插入驗證點 在Selenium IDE插入驗證在本節中討論。
Selenium 模式匹配 本節介紹如何使用IDE正則表達式來工作。
Selenium用戶擴展 Java腳本,允許用戶定制或添加新的功能。
不用瀏覽器執行 本節介紹了如何在不同的瀏覽器執行Selenium IDE腳本。

Selenium - IDE

步驟 1 : 啟動Firefox,然后導航到URL - http://seleniumhq.org/download/。 在Selenium IDE部分,單擊顯示如下所示當前版本號的鏈接。

Selenium IDE 1

步驟 2 :  Firefox的附加組件通知彈出了允許和禁止的選項。用戶必須允許安裝。

Selenium IDE 2

步驟3 : 加載項安裝程序發出警告不可信的附加組件的用戶。點擊“Install Now”。

Selenium IDE 3

步驟 4 :  Selenium IDE現在可以通過瀏覽訪問 'Tools' >> 'Selenium IDE'。

Selenium IDE 5

步驟 5 : 在Selenium IDE,也可以直接從快速訪問菜單欄訪問,如下圖所示。

Selenium IDE 4

Selenium - IDE 工具特點

Selenium IDE的特點列出了一個簡單的工具的幫助下提示,如下圖所示。

Selenium IDE 4

記錄工具欄的功能進行說明如下。

Selenium IDE 11

  Selenium IDE 測試創建

涉及使用IDE Selenium創建測試,如下面的步驟

  1. 記錄和測試添加命令

  2. 保存測試記錄

  3. 保存測試程序

  4. 執行測試記錄

在測試中記錄和添加命令

為了演示目的,我們將利用www.ncalculators.com,了解selenium的特點。

步驟 1 : 啟動Firefox瀏覽器,然后導航到該網站 - http://www.ncalculators.com/

步驟 2 : 從工具菜單中打開Selenium IDE,按下錄制按鈕-即在右上角。

Selenium IDE 7

步驟 3 : 導航到 "Math Calculator" >> "Percent Calculator >> 輸入"10" 作為 number1 并且輸入 50 作為 number2 然后點擊 "calculate".

Selenium IDE 7

步驟 4 :  然后,用戶可以插入檢查點通過右鍵單擊Web元素,并選擇 "Show all available commands" >> 選擇"assert text css=b 5"

Selenium IDE 8

步驟 4 : 所記錄的腳本生成并被顯示在以下腳本如下所示。

Selenium IDE 9

保存記錄的測試

第1步:保存測試用例可通過導航到 "File" >> "Save Test" 并將文件保存在選擇的位置。該文件保存為.HTML為默認值。

該測試也可以保存擴展名為 .HTM,.SHTML和.XHTML。

Selenium IDE 9

保存測試套件

測試套件是可以作為一個單獨的實體來執行測試的集合。

步驟1:創建一個測試套件可通過導航到 "File" >> "New Test Suite" 如下所示:

Selenium IDE 13

步驟2:該測試可以通過選擇選項來記錄,一個接一個 從 "File" 菜單中的"New Test Case" .

步驟3:個人測試使用單獨的名稱來保存 "Test Suite".

Selenium IDE 14

執行記錄的測試

所記錄的腳本,執行的任何腳本可通過單擊在工具欄中的按鈕 "Play entire suite" 或 "Play current test" 。

第1步: 運行狀態可以可以看出,在顯示的通過和失敗的測試號狀態窗格。

第2步:一旦步執行,用戶可以看到結果在“Log”窗格。

第3步:在執行每個步驟之后,測試步驟的背景變成“綠色”,如果獲得通過如果失敗則為“紅”,,如下圖所示。

Selenium IDE 15



Selenium IDE 測試

調試是為了發現和修復測試腳本,任何腳本開發的共同步驟是錯誤的處理。為了使這一過程更加穩固,我們可以使用Selenium IDE的一個插件叫“Power Debugger”

Step 1 : 安裝Selenium IDE的Power Debugger,導航到 https://addons.mozilla.org/en-US/firefox/addon/power-debugger-selenium-ide/ 然后點擊 "Add to Firefox" 鏈接如下所示:

Selenium IDE 16

Step 2 : 現在啟動 'Selenium IDE'  會發新的圖標, "Pause on Fail" 在錄制工具欄,如下圖所示。點擊它為 ON。 當再次點擊,將它打開為"OFF"。

Selenium IDE 17

Step 3 : 用戶可以打開 "pause on fail" 開或關在任何時間即使測試運行

Step 4 : 一旦測試在暫停的情況下,由于步驟中有一個失敗,可以使用通常的暫停/步按鈕繼續執行測試。如果故障是在任何測試的情況下,最后一個命令執行不會被暫停。

Step 5 : 我們還可以使用斷點來了解在這過程中到底發生了什么。插入一個特定步驟一個斷點,執行從上下文“右鍵”,選擇“toggle Break Yiibai”相關菜單。

Selenium IDE 18

Step 6 : 插入斷點則顯示暫停圖標,特定步驟如下所示。

Selenium IDE 19

Step 7 : 當我們執行該腳本,該腳本將暫停執行插入斷點的地方。這將有助于計算一個元素等的值/表示在用戶執行過程中。

Selenium IDE 20

 

Selenium - IDE模式匹配

在Selenium IDE中,如定位器,模式是selenium中經常使用的一種類型的參數。它允許用戶描述特殊字符的模式。很多時候,我們想核實文字是動態的,在這種情況下,模式匹配是非常有用的。

模式匹配是用于所有驗證點命令 - VerifyTextPresent,verifyTitle,verifyAlert,assertConfirmation,verifyText和verifyPrompt

有三種方法來定義一個模式 - 通配符,正則表達式和精確。

通配符

通配已經在Linux或Windows使用的文件匹配模式,而尋找一個特定的文件類型,如* doc或*.JPG,大多數技術人員。但通配硒只支持三個特殊字符:*,?和[]。

  • * - 匹配任何數目的字符。

  • ? - 匹配單個字符。

  • [ ] - 所謂字符類,可以匹配括號內發現的任何單個字符。 [0-9]匹配任何數字

要指定selenium 命令glob,前綴與關鍵字的模式'glob :“。例如,如果想搜索的文本“tax year 2013”或“tax year 2014”,那么可以使用“tax year *”來代替,如下圖所示。

然而關鍵字的用法“glob:”是可選的,而指定文本模式,因為Selenium的匹配模式是默認。

命令 目標
clickAndWait link=search  
verifyTextPresent glob: tax year *  

精確模式

模式帶有前綴“exact:'能匹配給定的文本。用戶希望字符串值精確匹配,即沒有globe 的操作符,我們可以使用“exact”的模式如下圖所示。在這個例子中,操作符'*'將作為普通字符,而不是一個模式匹配通配符。

命令 目標
clickAndWait link=search  
verifyValue exact: *.doc  

正則表達式模式

正則表達式是當中匹配技術中可用的模式是最有用的。Selenium 支持完整的Java語言支持reugular表達模式。因此,用戶通過不再受限于*,?和[]匹配模式。

要使用正則表達式模式,我們需要與任何前綴“regexp:”或“regexpi”。前綴“regexpi”是不區分大小寫的。 glob: 和exact: 模式是正則表達式模式的子集。一切完成使用 glob: 和exact:可以完成與正則表達式。

示例

例如,下面將測試,如果與ID“name”輸入的字段中包含字符串“tax year”,'Tax Year' 或 'tax Year'。

命令 目標
clickAndWait link=search  
verifyValue id=name regexp:[Tt]ax ([Yy]ear)


Selenium用戶擴展

這很容易擴展Selenium IDE加入自定義操作,斷言和定位,策略,這是通過添加方法,在JavaScript的幫助下Selenium 對象原型。在啟動時,Selenium會自動尋找通過這些原型方法,使用名稱的模式來識別哪些是行動,斷言和定位器。

讓我們使用JavaScript添加一個'while'循環在Selenium IDE。

步驟 1 : 要添加js文件,首先導航到https://github.com/darrenderidder/sideflow/blob/master/sideflow.js和復制腳本和地點將其保存在本地文件夾下為 “sideflow.js”,如下圖所示。

Selenium IDE 24

第2步:現在啟動“Selenium IDE”,然后導航到"Options" >> "Options",如下圖所示。

Selenium IDE 25

第3步:點擊“Browse”按鈕下的“Selenium Core Extensions”區域產并指向我們已經保存在第1步中的js文件。

Selenium IDE 26

第4步:重新啟動Selenium IDE。

第5步:現在將有機會獲得一些更多的命令,如 "Label" "While"等

第6步:現在,我們創造出在Selenium IDE內的循環,這是能夠執行的,如下圖所示。

Selenium IDE 27

Selenium IDE- 不同的瀏覽器

Selenium IDE腳本只能對火狐的工具Firefox插件運行測試。使用Selenium-IDE開發的測試可以對其他瀏覽器所保存為Selenium網絡驅動器或硒的遠程控制指令碼執行。腳本只能對火狐的工具Firefox插件運行測試。使用Selenium-IDE開發的測試可以對其他瀏覽器所保存為Selenium網絡驅動器或硒的遠程控制指令碼執行。更多關于Selenium的webdriver和Selenium的遠程控制,在后面的章節有詳細講解。

第1步:打開Selenium IDE任何已保存的測試

第2步:定位到“File”菜單,并選擇“Export Test Suite As”,而選擇將被列出。

Selenium IDE 28

步驟3:現在讓我們導出腳本“WebDriver”,并將其保存為同樣的名稱。

第4步:如下圖所示,顯示保存webdriver文件。

Selenium IDE 29



來自: http://blog.csdn.net/mrcharles/article/details/50540738

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!