您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
菜鳥學(xué)自動化測試??selenium系列全集
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/4/3 14:43:08 ] 推薦標(biāo)簽:

菜鳥學(xué)自動化測試(三)----selenium 命令

關(guān)于,selenium 命令這一部分,為了便于像我一樣的菜鳥理解,我采用通過例子講命令的方式。邊學(xué)邊總結(jié)吧!相互學(xué)習(xí)。呵呵。

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

----// Actions

Actions描述了用戶所會作出的操作。

Action 有兩種形式: action和actionAndWait, action會立即執(zhí)行,而actionAndWait會假設(shè)需要較長時間才能得到該action的相響,而作出等待,open則是會自動處理等待時間。

操作說明:

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

命令說明:

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

Highlight(locator)

- 暫時將指定元素的背景色改變?yōu)辄S色,有利于調(diào)試。

pause
pause(millisenconds)
- 根據(jù)指定時間暫停Selenium腳本執(zhí)行
- 常用在調(diào)試腳本或等待服務(wù)器段響應(yīng)時

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

click
click(elementLocator)
- 點擊連接,按鈕,復(fù)選和單選框
- 如果點擊后需要等待響應(yīng),則用"clickAndWait"
- 如果是需要經(jīng)過JavaScript的alert或confirm對話框后才能繼續(xù)操作,則需要調(diào)用verify或assert來告訴Selenium你期望對對話框進(jìn)行什么操作。

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

操作說明:

打開谷歌搜索首頁,在左上邊的選項中選擇“更多”,在下拉列表中選擇“博客”,然后在搜索欄內(nèi)輸入“蟲師”,點擊搜索按鈕,然后打開我的博客(通過我url的方式)

命令說明:

其實本例中并沒有出現(xiàn)新命令,但有一個問題。在搜索的結(jié)果中,標(biāo)紅的兩行作用是一樣的,都能打開我的博客。

      click通過頁面的字符匹配,點擊鏈接,但打開的新窗口中只有地址欄;用click的方式,如果頁面發(fā)生變動,沒匹配到我想到我輸入的關(guān)鍵字,頁腳本會失敗。

     open直接通過鏈接跳轉(zhuǎn),但又失去了前面搜索操作的意義。-----當(dāng)然,這里只是把它作為一個問題提出來。真實項目中,可能我們是不會遇到這種情況的。

 用興趣的話將上面的例子驗證一下,算是對第一個例子的理解和加強吧!

這個例子錄制的是開心網(wǎng)的注冊頁面,這不是一個完整的注冊,因為后一項要求輸入驗證碼。所以,算錄制完成,也無法正;胤牛@里只是為了講解幾個命令。(*^__^*) 嘻嘻……

可能通過上面的表格,你依然覺得不夠直觀。那么,看看下面的截圖呢?

相信截圖還是很清晰的說,那根據(jù)上面的截圖講解了。。

操作說明:

打開開心網(wǎng)注冊頁面, 填寫email地址,輸入密碼,重復(fù)密碼,輸入姓名,選擇性別(男女)選擇出生年、月、日,選擇權(quán)限(都誰可以訪問我的頁面)

命令說明:

select
select(dropDownLocator, optionSpecifier)
- 根據(jù)optionSpecifier選項選擇器來選擇一個下拉菜單選項
- 如果有多于一個選擇器的時候,如在用通配符模式,如"f*b*",或者超過一個選項有相同的文本或值,則會選擇第一個匹配到的值

 陌生的命令這一個啦,關(guān)于命令target部分(是id=...),我們可以通過firefox的插件firebug工具,進(jìn)行查看頁面元素,前面有講解,這里不多說了。
 
----//例子中沒提交的命令

下面的命令我還沒有找到合適的例子做演示,所以,先羅列出來,有時間在做演示。

    fireEvent
    fireEvent(elementLocatore,evenName)
    模擬頁面元素事件被激活的處理動作
    fireEvent  textField  focus
    fireEvent  dropDown  blur
    waitForCondition
    waitForCondition(JavaScriptSnippet,time)
    - 在限定時間內(nèi),等待一段JavaScript代碼返回true值,超時則停止等待
    waitForCondition  var value="/selenium.getText(""foo"); value.match(/bar/);  3000
    waitForValue
    waitForValue(inputLocator, value)
    - 等待某input(如hidden input)被賦予某值,
    - 會輪流檢測該值,所以要注意如果該值長時間一直不賦予該input該值的話,可能會導(dǎo)致阻塞
    waitForValue  finishIndication  isfinished
          
    store,stroreValue
    store(valueToStore, variablename)
    保存一個值到變量里。
    該值可以由自其他變量組合而成或通過JavaScript表達(dá)式賦值給變量
    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()
    - 當(dāng)下次JavaScript彈出confirm對話框的時候,讓selenium選擇Cancel
    - 如果沒有該命令時,遇到confirm對話框Selenium默認(rèn)返回true,如手動選擇OK按鈕一樣
    chooseCancelOnNextConfirmation     

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

關(guān)于selenium 命令,這一部分,我學(xué)的比較仔細(xì),所以,也想講的仔細(xì)點。關(guān)于后面,還會說到:

* 驗證頁面元素

* 定位頁面元素

* 文字范本匹配

上一頁1234567891011下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd