Selenium IDE工具界面剖析
資源推薦:
視頻資源:?軟件測試相關(guān)系列視頻
社區(qū)資源:?自動化測試交流群
Selenium IDE簡介
????Selenium IDE(Integrated Development Environment),是Selenium工具套件中最簡單的工具,它可以快速的通過錄制回放功能創(chuàng)建測試腳本,這種特性類似于QTP,而且它的安裝和使用都非常的簡單。
????由于Selenium IDE功能簡單,適用范圍局限,很多情況下都被當(dāng)做原型工具使用,而不會用作開發(fā)和維護(hù)復(fù)雜測試場景的解決方案。
????雖然學(xué)習(xí)Selenium IDE不需要什么其他知識基礎(chǔ),但是至少你需要熟悉HTML,Javascript,和DOM(Document Object Model),通過這些知識可以更多的發(fā)揮該工具(Selenium IDE)的潛能。比如當(dāng)我們進(jìn)入關(guān)于Selenese命令“runScript”階段學(xué)習(xí)時,就需要使用到j(luò)avascript知識。
????當(dāng)使用Selenium IDE創(chuàng)建測試腳本時,Selenium IDE支持命令自動完成模式,這個特性主要是為了兩個目的:????
幫助測試人員更快的完成命令輸入
限制用戶輸入無效的Selenese命令
Selenium IDE特性
????
??菜單欄
????菜單欄位于IDE的最頂部,最常用的菜單包括:File,Edit和Options菜單。
??文件菜單
????
文件菜單包含創(chuàng)建,打開,保存,關(guān)閉測試相關(guān)選項(xiàng)
Tests保存為HTML格式
這里有最有用的選項(xiàng)“Export”,它允許將Selenese腳本保存為支持Selenium RC 和 Selenium WebDriver支持的測試腳本。
“Export Test Case As...”,可以到處當(dāng)前的腳本。
“Export Test Suite As...”,當(dāng)初當(dāng)前測試套件所有腳本。
需要注意的是,自從Selenium IDE V1.9.1,測試腳本只能保存到如下格式的文件中。
.cs (C# source code)
.java (Java source code)
.py (Python source code)
.rb (Ruby source code)
? ?Edit菜單選項(xiàng)
它包含常用的選項(xiàng):?Undo, Redo, Cut, Copy, Paste, Delete, and Select All.
這里有兩個最重要的選項(xiàng):?"Insert New Command" 和 "Insert New Comment".? ? ? ??
????
最新插入的命令或注釋會放置在當(dāng)前選擇命令行的上方
命令會被黑色字體標(biāo)記
注釋會被紫色字體標(biāo)記
???Options 菜單
????Options中提供給用戶擴(kuò)展接口,以及各種各樣的Selenium IDE相關(guān)配置。
????我們先看下Options和 “Clipboard Format”選項(xiàng):
????
Clipboard Format選項(xiàng)允許從IDE命令行編輯器復(fù)制命令并粘貼成為指定的代碼片段
粘貼成為目標(biāo)代碼片段格式取決于在此所選擇的格式
HTML是默認(rèn)格式
比如,當(dāng)你選擇的代碼格式為“Java/JUnit 4/WebDriver”時,每個從Selenium IDE中復(fù)制的命令行會被粘貼成為java code.
Selenium IDE Options對話框
在菜單欄上點(diǎn)擊“Options > Options...”啟動Options對話框,Options中包含很多配置信息,我們將會選擇比較重要的進(jìn)行解釋。
????
Default Timeout Value.這個時間指的是等待某個元素在頁面中出現(xiàn) 或 等待某元素變?yōu)榭稍L問狀態(tài)的等待時間,超時后會拋出相應(yīng)的錯誤信息,這里默認(rèn)超時時間是30000ms
Selenium IDE extensions.在這里可以對Selenium IDE特性進(jìn)行擴(kuò)展,可以通過訪問“http://addons.mozilla.org/en-US/firefox/”,并使用關(guān)鍵字“Selenium”搜索相關(guān)可用的擴(kuò)展。
Remember base URL. 在此可以設(shè)置使Selenium IDE每次啟動時記住上次使用的Base Url,如果反選這個選項(xiàng)的話,IDE每次啟動時,將會保持Base Url空白。
Autostart record. 選擇該選項(xiàng),每次重啟Selenium IDE時,都會默認(rèn)開啟錄制狀態(tài)。
Locator builders. 在這里可以指定錄制腳本時使用locators的順序,locators就是元素定位選擇器,在如下配置的情況下,當(dāng)你點(diǎn)擊一個帶有ID的元素時,IDE會優(yōu)先使用id locator作為定位元素的選擇器,如果目標(biāo)元素不存在ID時,Selenium會尋找name屬性作為第二選擇,依次類推直到找到可用的元素定位選擇器。
????Base URL 欄
????
Base URL有一個下拉菜單列表,它會記錄所有先前訪問的歷史。
通過Selenese命令“open”,可以將瀏覽器導(dǎo)航到指定的url所指頁面。
在本教程中我們會使用“http://newtours.demoaut.com”作為Base URL,這是HP為用于基于測試目的維護(hù)的web系統(tǒng),這個web系統(tǒng)中包含所有本教程需要使用到的頁面元素。
使用Base URL時,對于訪問基于相對路徑的頁面時非常有用,比如這里指定Base URL的值為“http://newtours.demoaut.com”,可以使用Selenese “open”命令,并指定Target值為“sign-up”,Selenium IDE將會直接將瀏覽器導(dǎo)航到“sign-up”頁面,如下:
????
????Toolbar
| ?? | 通過這個控件控制腳本回放速度 |
| 開始/結(jié)束錄制會話,開啟后會將與瀏覽器的所有操作錄制成Selenese命令,并寫入到Editor面板中。 | |
| 執(zhí)行整個測試套件,將會順序的執(zhí)行測試面板中所有的測試案例。 | |
| 執(zhí)行當(dāng)前測試案例,僅會執(zhí)行當(dāng)前測試面板中被選中的測試腳本。 | |
| 暫停/恢復(fù)當(dāng)前正在回放的測試腳本。 | |
| 單步調(diào)試,可以逐步執(zhí)行測試腳本的命令,用于調(diào)試使用。 | |
應(yīng)用匯總策略,通過rollup關(guān)鍵字將多個命令合并為一個,需要用戶自定義擴(kuò)展。 |
????測試用例面板
????
同一時刻,可以在測試面板中打開多個測試腳本。
當(dāng)打開的目標(biāo)是一個test suite時,測試面板會加載當(dāng)前測試套件下所有測試腳本列表。
測試用例名稱標(biāo)注加粗字樣的為當(dāng)前選中的測試腳本。
回放之后,每個測試腳本名稱會有字體背景著色,表示執(zhí)行成功或失敗,綠色表示“成功”,紅色表示“失敗”。
測試用例面板底部顯示的是運(yùn)行測試的總數(shù)及失敗的個數(shù)。
? ?
????Editor
????Editor中包含兩個視圖窗口:Table View 和 Source View.
????Table
? ??
Table視圖在大多數(shù)情況下是使用最頻繁的。
可以在這里創(chuàng)建和修改Selenese命令。
腳本回放之后,每個執(zhí)行步驟都會被著色。
????
????
創(chuàng)建測試步驟,可以在“Command”文本框中輸入命令名稱
在鍵入命令時,文本框下拉列表會顯示所有可以匹配到的命令集合。
Target參數(shù)通常是一個元素定位器,或者作為參數(shù)值等,而Value通常會是參數(shù)變量名,輸入數(shù)據(jù)等。
????
????
????Source 視圖
????
source視圖通過HTML格式展示測試步驟。
可以在此視圖中創(chuàng)建、編輯Selenese命令。
????
????Log 面板
????log面板會實(shí)時顯示測試執(zhí)行消息,實(shí)時更新日志并通知Selenium正在做的事情。
????Logs被歸類為4中類別
????Debug - 默認(rèn)情況下,debug消息不會被顯示,這些debug信息主要是涉及到Selenium運(yùn)行時使用到的技術(shù)相關(guān)信息,比如,加載了一個特定的模塊,一個特定的函數(shù)被調(diào)用過,加載了一個外部js文件等等。
????Info - info消息會告訴使用者Selenium IDE都執(zhí)行了哪些Selenese命令。
????Warn - 某些特殊情況下,使用Selenese不當(dāng)或環(huán)境等某種原因,會提示W(wǎng)arn消息。
????Error - 當(dāng)Selenese命令執(zhí)行失敗時,會有error消息,比如不滿足“verify”or "assert" 相關(guān)命令的條件時,也會有Error消息產(chǎn)生。
????
????
????Log信息可以通過類型進(jìn)行過濾,比如選擇“Error”選項(xiàng)時,log面板中只會顯示error相關(guān)的信息。
????
????
????Reference 窗口(灰常有用)
????Reference窗口中顯示了當(dāng)前選中的Selenese命令相關(guān)介紹,同時也對當(dāng)前command的locator和value進(jìn)行描述。
????
????UI-Element窗口
????UI-Element對于selenium用戶來說,相比較而言是較高級的話題,它使用JSON(Javascript Object Notation)來定義頁面、頁面元素的映射結(jié)構(gòu),我們可以在Selenium IDE中“Help”選項(xiàng)下找到“UI Element Documentation”,這里包含UI-Element更多詳細(xì)的內(nèi)容。
????
????
????如下是一個使用UI-Element的一個例子。
????
????
????Rollup窗口
????Rollup允許將一組Selenese命令合并到一個步驟中,一組selenese命令稱為“rollup”,它嚴(yán)重的依賴于javascrip及“UI-Element”概念,類似于編程語言中的function。
????Rollup是可以重用的,一個“rollup”可以在測試腳本中多次使用,由于“rollup”是一系列命令的集合,所以它可以縮減測試腳本篇幅。
????
????如下展示了“rollup”窗口內(nèi)容
????
????匯總
????
Selenium IDE是整個套件里最簡單的。
僅僅被用作一個原型工具
需要JS和HTML的知識。Rollup是一些可重用的命令集合。Locators是你告訴IDE怎么找到元素的描述。
Firebug是獲取locator值的工具。
菜單欄用來創(chuàng)建,修改,導(dǎo)出RC,WebDriver可以識別的格式的測試用例。
Selense命令的默認(rèn)格式是HTML。
選項(xiàng)菜單提供了關(guān)于IDE更多配置。
Base URL基址在訪問相對地址比較有用。
測試用例面板顯示打開的case和關(guān)于測試結(jié)果的匯總。
Editor編輯器提供了修改腳本的入口
表格試圖以表格形式等你鍵入Command,target,value。而代碼視圖用HTML來顯示你的腳本。
日志和參考頁面提供了一些執(zhí)行case可能需要的信息。
UI-Element和Rollup是給比較熟悉Selenium工具的用戶使用的。需要相當(dāng)?shù)腏S編程經(jīng)驗(yàn)。
UI-Element允許我們使用json來匹配UI元素。
??? ? ? ? ? ??
? ?點(diǎn)擊鏈接加入群【悅分享測試聯(lián)盟】:https://jq.qq.com/?_wv=1027&k=5DiePik
轉(zhuǎn)載于:https://blog.51cto.com/shareku/2065042
總結(jié)
以上是生活随笔為你收集整理的Selenium IDE工具界面剖析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Arcgis API for JavaS
- 下一篇: Android应用开发—AsyncTas