首页 > 代码库 > RobotFramework自动化系列2-自定义关键字

RobotFramework自动化系列2-自定义关键字

前言   

    有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象。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

RobotFramework自动化系列2-自定义关键字