標籤:http 理解 for att 姓名 輸入密碼 有一個 user sni
菜鳥Selenium 命令通常被稱為selenese,有一系列運行測試案例所需的命令構成。
----// Actions
----// Actions
Actions描述了使用者所會作出的操作。
Action 有兩種形式: action和actionAndWait, action會立即執行,而actionAndWait會假設需要較長時間才能得到該action的相響,而作出等待,open則是會自動處理等待時間。
================= 例1 ================================================
操作說明:
開啟Google首頁,輸入“selenium 環境配置”欄位,點擊搜尋按鈕。
命令說明:
open
open(url)
- 在瀏覽器中開啟URL,可以接受相對和絕對路徑兩種形式
- 注意:該URL必須在與瀏覽器相同的安全限定範圍之內
Highlight(locator)
- 暫時將指定元素的背景色改變為黃色,有利於調試。
pause
pause(millisenconds)
- 根據指定時間暫停Selenium指令碼執行
- 常用在調試指令碼或等待伺服器段響應時
type
type(inputLocator, value)
- 類比人手的輸入過程,往指定的input中輸入值
- 也適合給複選和單選框賦值
click
click(elementLocator)
- 點擊串連,按鈕,複選和單選框
- 如果點擊後需要等待響應,則用"clickAndWait"
- 如果是需要經過JavaScript的alert或confirm對話方塊後才能繼續操作,則需要調用verify或assert來告訴Selenium你期望對對話方塊進行什麼操作。
goBack()
類比點擊瀏覽器的後退按鈕
close()
類比點擊瀏覽器關閉按鈕
=============== 例2 =======================================
操作說明:
開啟Google搜尋首頁,在左上邊的選項中選擇“更多”,在下拉式清單中選擇“部落格”,然後在搜尋欄內輸入“蟲師”,點擊搜尋按鈕,然後開啟我的部落格(通過我url的方式)
命令說明:
其實本例中並沒有出現新命令,但有一個問題。在搜尋的結果中,標紅的兩行作用是一樣的,都能開啟我的部落格。
click通過頁面的字元匹配,點選連結,但開啟的新視窗中只有地址欄;用click的方式,如果頁面發生變動,沒匹配到我想到我輸入的關鍵字,頁尾本就會失敗。
open直接通過連結跳轉,但又失去了前面搜尋操作的意義。-----當然,這裡只是把它作為一個問題提出來。真實項目中,可能我們是不會遇到這種情況的。
用興趣的話將上面的例子驗證一下,算是對第一個例子的理解和加強吧!
=============== 例3 =======================================
這個例子錄製的是開心網的註冊頁面,這不是一個完整的註冊,因為最後一項要求輸入驗證碼。所以,就算錄製完成,也無法正常回放,這裡只是為了講解幾個命令。(*^__^*) 嘻嘻……
可能通過上面的表格,你依然覺得不夠直觀。那麼,看看下面的呢!?
相信還是很清晰的說,那就根據上面的講解了。。
操作說明:
開啟開心網註冊頁面, 填寫email地址,輸入密碼,重複密碼,輸入姓名,選擇性別(男女)選擇出生年、月、日,選擇許可權(都誰可以訪問我的頁面)
命令說明:
select
select(dropDownLocator, optionSpecifier)
- 根據optionSpecifier選項選取器來選擇一個下拉式功能表選項
- 如果有多於一個選取器的時候,如在用萬用字元模式,如"f*b*",或者超過一個選項有相同的文本或值,則會選擇第一個匹配到的值
陌生的命令就這一個啦,關於命令target部分(就是id=...),我們可以通過firefox的外掛程式firebug工具,進行查看頁面元素,前面有講解,這裡就不多說了。
----//例子中沒提交的命令
下面的命令我還沒有找到合適的例子做示範,所以,先羅列出來,有時間在做示範。
- fireEvent
fireEvent(elementLocatore,evenName)
類比頁面元素事件被啟用的處理動作
| fireEvent |
textField |
focus |
| fireEvent |
dropDown |
blur |
- waitForCondition
waitForCondition(JavaScriptSnippet,time)
- 在限定時間內,等待一段JavaScript代碼返回true值,逾時則停止等待
| waitForCondition |
var value="/selenium.getText(""foo"); value.match(/bar/); |
3000 |
- waitForValue
waitForValue(inputLocator, value)
- 等待某input(如hidden input)被賦予某值,
- 會輪流檢測該值,所以要注意如果該值長時間一直不賦予該input該值的話,可能會導致阻塞
| waitForValue |
finishIndication |
isfinished |
| |
|
|
- store,stroreValue
store(valueToStore, variablename)
儲存一個值到變數裡。
該值可以由自其他變數組合而成或通過JavaScript運算式賦值給變數
| store |
Mr John Smith |
fullname |
| store |
$.{title} $.{firstname} $.{suname} |
fullname |
| store |
javascript.{Math.round(Math.PI*100)/100} |
PI |
| storeValue |
inputLocator |
variableName |
把指定的input中的值儲存到變數中
| storeValue |
userName |
userID |
| type |
userName |
$.{userID} |
- storeText, storeAttribute
storeText(elementLocator, variablename)
把指定元素的文本值賦予給變數
| storeText |
currentDate |
expectedStartDate |
| verifyValue |
startDate |
$.{expectedStartDate} |
storeAttribute(.{}[email protected],variableName.{})
把指定元素的屬性的值賦予給變數
| storeAttribute |
[email protected] |
classOfInput1 |
| verifyAttribute |
[email protected] |
$.{classOfInput1} |
- chooseCancel.., answer..
chooseCancelOnNextConfirmation()
- 當下次JavaScript彈出confirm對話方塊的時候,讓selenium選擇Cancel
- 如果沒有該命令時,遇到confirm對話方塊Selenium預設返回true,如手動選擇OK按鈕一樣
| chooseCancelOnNextConfirmation |
|
|
- 如果已經運行過該命令,當下一次又有confirm對話方塊出現時,也會同樣地再次選擇Cancel
answerOnNextPrompt(answerString)
- 在下次JavaScript彈出prompt提示框時,賦予其anweerString的值,並選擇確定
| answerOnNextPrompt |
Kangaroo |
|
-----轉
selenium IDE(三)selenium 命令