selenium IDE(三)selenium 命令


菜鳥Selenium 命令通常被稱為selenese,有一系列運行測試案例所需的命令構成。

 

----// Actions

 

----// Actions

 

Actions描述了用戶所會作出的操作。
Action 有兩種形式: action和actionAndWait, action會立即執行,而actionAndWait會假設需要較長時間才能得到該action的相響,而作出等待,open則是會自動處理等待時間。

=================    例1   ================================================

操作說明:

打開谷歌首頁,輸入“selenium 環境配置”字段,點擊“搜索”按鈕。

命令說明:

open
open(url)
在瀏覽器中打開URL,可以接受相對和絕對路徑兩種形式
注意:該URL必須在與瀏覽器相同的安全限定范圍之內 

Highlight(locator)

暫時將指定元素的背景色改變為黃色,有利於調試。

pause
pause(millisenconds)
根據指定時間暫停Selenium腳本執行
常用在調試腳本或等待服務器段響應時 

type
 type(inputLocator, value)
模擬人手的輸入過程,往指定的input中輸入值
也適合給復選和單選框賦值 

click
click(elementLocator)
點擊連接,按鈕,復選和單選框
如果點擊后需要等待響應,則用"clickAndWait"
如果是需要經過JavaScriptalertconfirm對話框后才能繼續操作,則需要調用verifyassert來告訴Selenium你期望對對話框進行什么操作。 

goBack()
模擬點擊瀏覽器的后退按鈕
close()
模擬點擊瀏覽器關閉按鈕 

 

 

===============     例2   =======================================

操作說明:

打開谷歌搜索首頁,在左上邊的選項中選擇“更多”,在下拉列表中選擇“博客”,然后在搜索欄內輸入“蟲師”,點擊搜索按鈕,然后打開我的博客(通過我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(.{}elementLocator@attributeName,variableName.{)
      把指定元素的屬性的值賦予給變量

      storeAttribute input1@class classOfInput1
      verifyAttribute input2@class $.{classOfInput1}
    • chooseCancel.., answer..
      chooseCancelOnNextConfirmation()
      - 當下次JavaScript彈出confirm對話框的時候,讓selenium選擇Cancel
      - 如果沒有該命令時,遇到confirm對話框Selenium默認返回true,如手動選擇OK按鈕一樣
      chooseCancelOnNextConfirmation    

      - 如果已經運行過該命令,當下一次又有confirm對話框出現時,也會同樣地再次選擇Cancel
      answerOnNextPrompt(answerString)
      - 在下次JavaScript彈出prompt提示框時,賦予其anweerString的值,並選擇確定

 

answerOnNextPrompt Kangaroo  

 

-----轉

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM