qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

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

           關于,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"

            - 如果是需要經過JavaScript的alert或confirm對話框后才能繼續操作,則需要調用verify或assert來告訴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)

            模擬頁面元素事件被激活的處理動作

          fireEventtextFieldfocus
          fireEventdropDownblur

            ·waitForCondition

            waitForCondition(JavaScriptSnippet,time)

            - 在限定時間內,等待一段JavaScript代碼返回true值,超時則停止等待

          waitForConditionvar value="/selenium.getText(""foo"); value.match(/bar/);3000

            ·waitForValue

            waitForValue(inputLocator, value)

            - 等待某input(如hidden input)被賦予某值,

            - 會輪流檢測該值,所以要注意如果該值長時間一直不賦予該input該值的話,可能會導致阻塞

          waitForValuefinishIndicationisfinished
             

            ·store,stroreValue

            store(valueToStore, variablename)

            保存一個值到變量里。

            該值可以由自其他變量組合而成或通過JavaScript表達式賦值給變量

            把指定的input中的值保存到變量中

          storeValueuserNameuserID
          typeuserName$.{userID}

            ·storeText, storeAttribute

            storeText(elementLocator, variablename)

            把指定元素的文本值賦予給變量

          storeTextcurrentDateexpectedStartDate
          verifyValuestartDate$.{expectedStartDate}

            ·storeAttribute(.{}elementLocator@attributeName,variableName.{})

            把指定元素的屬性的值賦予給變量

          storeAttributeinput1@classclassOfInput1
          verifyAttributeinput2@class$.{classOfInput1}

            ·chooseCancel.., answer..

            chooseCancelOnNextConfirmation()

            - 當下次JavaScript彈出confirm對話框的時候,讓selenium選擇Cancel

            - 如果沒有該命令時,遇到confirm對話框Selenium默認返回true,如手動選擇OK按鈕一樣

          chooseCancelOnNextConfirmation  

            - 如果已經運行過該命令,當下一次又有confirm對話框出現時,也會同樣地再次選擇Cancel

            - 在下次JavaScript彈出prompt提示框時,賦予其anweerString的值,并選擇確定

            answerOnNextPrompt Kangaroo

          answerOnNextPromptKangaroo 

            關于selenium 命令,這一部分,我學的比較仔細,所以,也想講的仔細點。關于后面,還會說到:

            * 驗證頁面元素

            * 定位頁面元素

            * 文字范本匹配

          相關文章:

          菜鳥學自動化測試(一)----selenium IDE

          菜鳥學自動化測試(二)----selenium IDE 功能擴展

          posted on 2013-07-08 14:13 順其自然EVO 閱讀(263) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 措美县| 连平县| 广汉市| 金塔县| 景东| 通河县| 桂东县| 吴堡县| 两当县| 秦皇岛市| 常宁市| 怀集县| 西峡县| 虹口区| 莱阳市| 双鸭山市| 武胜县| 定西市| 德保县| 石门县| 新沂市| 静海县| 宝兴县| 西藏| 沁阳市| 视频| 资源县| 磐安县| 高阳县| 万载县| 青龙| 龙泉市| 昌宁县| 榆社县| 平原县| 凤凰县| 荆州市| 大厂| 青河县| 积石山| 洛扎县|