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