RobotFramework自動化2-自定義關鍵字

weixin_34162629發表於2016-12-16

前言   

    有時候一個頁面上有多個物件需要操作,如果一個個去定位的話,比較繁瑣,這時候就可以定位一組物件。Selenium2library提供了Get Webelements 關鍵字,用於定位一組元素

    以百度頁面為例,先定位一組物件,然後依次開啟每個連結,檢測返回結果。

一、定位一組物件

    1.開啟百度頁面,定位右上角六個連結按鈕

    2.定位元素共同屬性class=mnav

二、Get Webelements

    1.在ride中找到對應關鍵字Get Webelements,從關鍵字介紹中可以看到,返回的是一個list物件

三、操作物件

    1.開啟瀏覽器

    2.設定等待時間

    3.獲取介面上一組物件,返回給${s}

    4.開啟其中一個頁面,然後獲取title

    5.用go back返回到首頁

    1.將上面的操作可以分為兩個步驟,第一步是開啟瀏覽器,第二步是點選某個連結

    2.開啟百度關鍵字

五、開啟連結關鍵字

    1.可以把點選的第幾個元素設定為一個變數:${i}

    2.把獲取到的title作為返回結果,給這個關鍵字一個返回值:${title}

六、批量操作

    1.把需要檢查的結果放到一個list裡

    2.用for迴圈,迴圈點選操作連結

    3.Should Contain斷言,檢查返回結果

    4.最後操作完後關閉瀏覽器

    1.最終程式碼如下:

test010

    ${result}    Create List    糯米    新聞    hao123    地圖    視訊

    ...    貼吧

    開啟百度

    :FOR    ${a}    in range    6

    \    ${title}    開啟連結    ${a}

    \    log    ${title}

    \    log    ${result[${a}]}

    \    Should Contain    ${title}    ${result[${a}]}

    close all browsers

 

*** Keywords ***

 

開啟連結

    [Arguments]    ${i}

    [Timeout]

    ${s}    Get Webelements    css=.mnav

    Click Element    ${s[${i}]}

    sleep    3

    ${title}    Get Title

    log    ${title}

    go back

    [Teardown]

    [Return]    ${title}

 

開啟百度

    open browser    https://www.baidu.com/

    Set Browser Implicit Wait    10

RF交流QQ群232607095

相關文章