[摘]selenium-ide命令

關於,selenium 命令這一部分,爲了便於像我同樣的菜鳥理解,我採用經過例子講命令的方式。javascript

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

 

----// Actions

 

----// Actions瀏覽器

 

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

=================    例1   ================================================服務器

操做說明:工具

打開谷歌首頁,輸入「selenium 環境配置」字段,點擊「搜索」按鈕。測試

命令說明:url

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

Highlight(locator)firefox

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

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  

關於selenium 命令,這一部分,我學的比較仔細,因此,也想講的仔細點。關於後面,還會說到:

* 驗證頁面元素

* 定位頁面元素

* 文字範本匹配

相關文章
相關標籤/搜索