Selenium IDE工具界面剖析

資源推薦:

視頻資源: 軟件測試相關係列視頻

社區資源: 自動化測試交流羣


Selenium IDE簡介

    Selenium IDE(Integrated Development Environment),是Selenium工具套件中最簡單的工具,它可以快速的通過錄制回放功能創建測試腳本,這種特性類似於QTP,而且它的安裝和使用都非常的簡單。

    由於Selenium IDE功能簡單,適用範圍侷限,很多情況下都被當做原型工具使用,而不會用作開發和維護複雜測試場景的解決方案。

    雖然學習Selenium IDE不需要什麼其他知識基礎,但是至少你需要熟悉HTML,Javascript,和DOM(Document Object Model),通過這些知識可以更多的發揮該工具(Selenium IDE)的潛能。比如當我們進入關於Selenese命令“runScript”階段學習時,就需要使用到javascript知識。

    當使用Selenium IDE創建測試腳本時,Selenium IDE支持命令自動完成模式,這個特性主要是爲了兩個目的:    

    • 幫助測試人員更快的完成命令輸入

    • 限制用戶輸入無效的Selenese命令


Selenium IDE特性

    ide_-_labelled_parts.png

  菜單欄

    菜單欄位於IDE的最頂部,最常用的菜單包括:File,Edit和Options菜單。

  文件菜單

    

    • 文件菜單包含創建,打開,保存,關閉測試相關選項

    • Tests保存爲HTML格式

    • 這裏有最有用的選項“Export”,它允許將Selenese腳本保存爲支持Selenium RC 和 Selenium WebDriver支持的測試腳本。

    • “Export Test Case As...”,可以到處當前的腳本。

    • “Export Test Suite As...”,當初當前測試套件所有腳本。


    file_menu_b.png


  • 需要注意的是,自從Selenium IDE V1.9.1,測試腳本只能保存到如下格式的文件中。

  • .cs (C# source code)

  • .java (Java source code)

  • .py (Python source code)

  • .rb (Ruby source code)

    html_to_java_conversion.png


   Edit菜單選項

    • 它包含常用的選項: Undo, Redo, Cut, Copy, Paste, Delete, and Select All.

    • 這裏有兩個最重要的選項: "Insert New Command" 和 "Insert New Comment".        

    edit_menu_-_most_impt.png

    • 最新插入的命令或註釋會放置在當前選擇命令行的上方

      insertion_-_before_and_after.png


    • 命令會被黑色字體標記

    • 註釋會被紫色字體標記

      command_and_comment_color.png


   Options 菜單

    Options中提供給用戶擴展接口,以及各種各樣的Selenium IDE相關配置。

    我們先看下Options和 “Clipboard Format”選項:

    clipboard_format_menu_list_complete.png

    • Clipboard Format選項允許從IDE命令行編輯器複製命令並粘貼成爲指定的代碼片段

    • 粘貼成爲目標代碼片段格式取決於在此所選擇的格式

    • HTML是默認格式

    比如,當你選擇的代碼格式爲“Java/JUnit 4/WebDriver”時,每個從Selenium IDE中複製的命令行會被粘貼成爲java code.

    clipboard_format_-_copy_paste_illustration.png

    Selenium IDE Options對話框

    在菜單欄上點擊“Options > Options...”啓動Options對話框,Options中包含很多配置信息,我們將會選擇比較重要的進行解釋。

    options_dialog_with_lables.png

        

    • Default Timeout Value.這個時間指的是等待某個元素在頁面中出現 或 等待某元素變爲可訪問狀態的等待時間,超時後會拋出相應的錯誤信息,這裏默認超時時間是30000ms

    • Selenium IDE extensions.在這裏可以對Selenium IDE特性進行擴展,可以通過訪問“http://addons.mozilla.org/en-US/firefox/”,並使用關鍵字“Selenium”搜索相關可用的擴展。

    • Remember base URL. 在此可以設置使Selenium IDE每次啓動時記住上次使用的Base Url,如果反選這個選項的話,IDE每次啓動時,將會保持Base Url空白。

    • Autostart record. 選擇該選項,每次重啓Selenium IDE時,都會默認開啓錄製狀態。

    • Locator builders. 在這裏可以指定錄製腳本時使用locators的順序,locators就是元素定位選擇器,在如下配置的情況下,當你點擊一個帶有ID的元素時,IDE會優先使用id locator作爲定位元素的選擇器,如果目標元素不存在ID時,Selenium會尋找name屬性作爲第二選擇,依次類推直到找到可用的元素定位選擇器。

      locator_builders(1).png


        Base URL 欄

        BaseURL.png

    • Base URL有一個下拉菜單列表,它會記錄所有先前訪問的歷史。

    • 通過Selenese命令“open”,可以將瀏覽器導航到指定的url所指頁面。

    • 在本教程中我們會使用“http://newtours.demoaut.com”作爲Base URL,這是HP爲用於基於測試目的維護的web系統,這個web系統中包含所有本教程需要使用到的頁面元素。

    • 使用Base URL時,對於訪問基於相對路徑的頁面時非常有用,比如這裏指定Base URL的值爲“http://newtours.demoaut.com”,可以使用Selenese “open”命令,並指定Target值爲“sign-up”,Selenium IDE將會直接將瀏覽器導航到“sign-up”頁面,如下:

    BaseURLTarget.png

    Toolbar

  Introduction to Selenium IDE通過這個控件控制腳本回放速度
Introduction to Selenium IDE開始/結束錄製會話,開啓後會將與瀏覽器的所有操作錄製成Selenese命令,並寫入到Editor面板中。
Introduction to Selenium IDE執行整個測試套件,將會順序的執行測試面板中所有的測試案例。
Introduction to Selenium IDE執行當前測試案例,僅會執行當前測試面板中被選中的測試腳本。
Introduction to Selenium IDE暫停/恢復當前正在回放的測試腳本。
Introduction to Selenium IDE單步調試,可以逐步執行測試腳本的命令,用於調試使用。
Introduction to Selenium IDE

應用匯總策略,通過rollup關鍵字將多個命令合併爲一個,需要用戶自定義擴展。

    測試用例面板


    test_case_pane_-_final.png

    • 同一時刻,可以在測試面板中打開多個測試腳本。

    • 當打開的目標是一個test suite時,測試面板會加載當前測試套件下所有測試腳本列表。

    • 測試用例名稱標註加粗字樣的爲當前選中的測試腳本。

    • 回放之後,每個測試腳本名稱會有字體背景着色,表示執行成功或失敗,綠色表示“成功”,紅色表示“失敗”。

    • 測試用例面板底部顯示的是運行測試的總數及失敗的個數。

   

    Editor

    Editor中包含兩個視圖窗口:Table View 和 Source View.


    Table

    

    • Table視圖在大多數情況下是使用最頻繁的。

    • 可以在這裏創建和修改Selenese命令。

    • 腳本回放之後,每個執行步驟都會被着色。


    Editor.png

    

    • 創建測試步驟,可以在“Command”文本框中輸入命令名稱

    • 在鍵入命令時,文本框下拉列表會顯示所有可以匹配到的命令集合。

    • Target參數通常是一個元素定位器,或者作爲參數值等,而Value通常會是參數變量名,輸入數據等。

    TableEditor.png

    

    Source 視圖

    

    • source視圖通過HTML格式展示測試步驟。

    • 可以在此視圖中創建、編輯Selenese命令。

    editor_source_-_final.png

    Log 面板

    log面板會實時顯示測試執行消息,實時更新日誌並通知Selenium正在做的事情。

    Logs被歸類爲4中類別

    Debug - 默認情況下,debug消息不會被顯示,這些debug信息主要是涉及到Selenium運行時使用到的技術相關信息,比如,加載了一個特定的模塊,一個特定的函數被調用過,加載了一個外部js文件等等。

    Info - info消息會告訴使用者Selenium IDE都執行了哪些Selenese命令。

    Warn - 某些特殊情況下,使用Selenese不當或環境等某種原因,會提示Warn消息。

    Error - 當Selenese命令執行失敗時,會有error消息,比如不滿足“verify”or "assert" 相關命令的條件時,也會有Error消息產生。

    

    

Log_pane_-_types_of_logs.png

    Log信息可以通過類型進行過濾,比如選擇“Error”選項時,log面板中只會顯示error相關的信息。

    ErrorLog.png

    

    Reference 窗口(灰常有用)

    Reference窗口中顯示了當前選中的Selenese命令相關介紹,同時也對當前command的locator和value進行描述。

    complete.png

    UI-Element窗口

    UI-Element對於selenium用戶來說,相比較而言是較高級的話題,它使用JSON(Javascript Object Notation)來定義頁面、頁面元素的映射結構,我們可以在Selenium IDE中“Help”選項下找到“UI Element Documentation”,這裏包含UI-Element更多詳細的內容。

    Help.png

    

    如下是一個使用UI-Element的一個例子。

    ide_screenshot.png

    


    Rollup窗口

    Rollup允許將一組Selenese命令合併到一個步驟中,一組selenese命令稱爲“rollup”,它嚴重的依賴於javascrip及“UI-Element”概念,類似於編程語言中的function。

    Rollup是可以重用的,一個“rollup”可以在測試腳本中多次使用,由於“rollup”是一系列命令的集合,所以它可以縮減測試腳本篇幅。

    rollup_condensed.png

    如下展示了“rollup”窗口內容

    rollup.png


    彙總

    

    • Selenium IDE是整個套件裏最簡單的。

    • 僅僅被用作一個原型工具

    • 需要JS和HTML的知識。Rollup是一些可重用的命令集合。Locators是你告訴IDE怎麼找到元素的描述。

    • Firebug是獲取locator值的工具。

    • 菜單欄用來創建,修改,導出RC,WebDriver可以識別的格式的測試用例。

    • Selense命令的默認格式是HTML。

    • 選項菜單提供了關於IDE更多配置。

    • Base URL基址在訪問相對地址比較有用。

    • 測試用例面板顯示打開的case和關於測試結果的彙總。

    • Editor編輯器提供了修改腳本的入口

    • 表格試圖以表格形式等你鍵入Command,target,value。而代碼視圖用HTML來顯示你的腳本。

    • 日誌和參考頁面提供了一些執行case可能需要的信息。

    • UI-Element和Rollup是給比較熟悉Selenium工具的用戶使用的。需要相當的JS編程經驗。

    • UI-Element允許我們使用json來匹配UI元素。


              

   點擊鏈接加入羣【悅分享測試聯盟】:https://jq.qq.com/?_wv=1027&k=5DiePik

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章