基于python的robotframework+eclipse操作UI自动化基础阶段二

上一次我们学习了robot一些常用的语法,今天我们再来学习下在web自动化中的一些常见语法

在web自动化中可以拆分为ui自动化和接口(api)自动化,主要用到的第三方库分别是seleniumlibrary和requestslibrary,如果要操作app自动化,那需要使用appiumlibrary

鉴于selenium2library已经有点过时了,所以个人使用的是seleniumlibrary,各位老铁根据自己所安装的库来学习

  1:在robot中引入第三方库,都是在settings中进行添加,方法如下

*** Settings ***
Library    SeleniumLibrary    
Library    RequestsLibrary   

2:在ui自动化中经常使用到的便是Open browser,方法如下

*** Keywords ***
打开浏览器谷歌浏览器并访问网址
        Open Browser            https://www.baidu.com        chrome

3:在ui自动化中经常使用到的便是隐式等待以及窗口最大化,方法如下

*** Keywords ***
打开浏览器谷歌浏览器并访问网址
        Open Browser            https://www.baidu.com        chrome
        Set Browser Implicit Wait    5
        Maximize Browser Window

4:在ui自动化中文本输入input也是不可缺少的,方法如下:

*** Keywords ***
输入用户名和密码并登录
    Input Text    xpath=//*[@id="name"]    testuser1    
    Input Password    xpath=//*[@id="pass"]    123456    
    Click Element    xpath=//*[@class="form-actions"]/input   

5:在ui自动化中经常会操作点击事件,方法如下

*** Keywords ***
点击
      Click Element    locator  ---->用于点击元素,前提是该元素是存在的
      Click Link    locator    ---->用于点击链接,主要用于a标签这种
      Click Image    locator   ---->用于点击图片

6:在ui自动化中也会使用到js,来辅助我们的自动化,方法如下

*** Keywords ***
执行js
         Execute Javascript            ${JSContent}

7:在ui自动化中经常会使用到鼠标移动事件,来操作鼠标,方法如下

*** Keywords ***
鼠标滑动
        mouse over                ${location}

8:在ui自动化中也会遇到iframe,那么如何选择呢,方法如下

*** Keywords ***
选择Frame
            Select Frame                ${location}

9:在ui自动化中有时元素需要等几秒再出来,虽然有了隐式等待,我们还有方法,如下

*** Keywords ***
等待元素
            wait until element is visible        ${location}    ${time}    ${error}

10:在ui自动化中经常也会操作单选框和勾选框

*** Keywords ***
单选框
        Select Radio Button        ${group}        ${value}---->操作单选框
        Select Checkbox        ${location}---->勾选框

11:在ui自动化中if虚幻也是经常用到的,方法如下

*** keywords ***
if循环
    Run Keyword If    '${s1}'=='${s2}'    Log To Console    输出结果为:yes        
    ...                ELSE        Log To Console    输出结果为:no  

12:说了这么多,直接上一波实例,这是一个简单的登录接口的例子

*** Settings ***
Library    RequestsLibrary
Library    Collections        
Suite Setup     Create Session    api    https://sht-lc.vipthink.cn/api_admin.php/cc    verify=true


*** Variables ***        value
${header}                application/json;charset=UTF-8            


*** Keywords ***
update_header
    Comment        从上一步请求的json结果里面更新头    
    [Arguments]    ${header}
    &{header}    Create Dictionary    Content-Type=${header}    
    Update Session    api    headers=${header}
    
*** Test Cases ***
登录
    update_header    ${header}
    &{test_params}    Create Dictionary    username=19191919191        password=123456
    ${response}        Post On Session        api        login/login        json=${test_params}
    Log    ${response.text} 
    Log To Console    ${response.text}    
    Status Should Be    200    ${response}
    ${j}=        Evaluate    type($response.text)
    Log To Console    response的类型:${j}
    #转成json
    ${j}=        To Json    ${response.text} 
    Log To Console    ${j['info']}     
    Comment    断言   
    Run Keyword If    '${j['info']}'=='成功'    Log To Console    登录成功    
    ...                ELSE            Log To Console    登录失败    

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值