Robot Framework(十二):使用RF进行web测试(上)

目录

安装robotframework-selenium2library

下载浏览器驱动

元素定位说明

Selenium2Library常用关键字

Open Browser

Input Text

Input Password

click element

Maximize Browser Window

choose file

​​​​​​​Select Frame

​​​​​​​Unselect Frame


​​​​​​​

前11篇博客介绍的都是robot framework的基础知识,本篇开始介绍使用RF进行web测试、接口测试等一些示例。按照惯例,还是会先介绍相关模块的一些基础用法,再给出具体的示例。

安装robotframework-selenium2library

github:https://github.com/robotframework/Selenium2Library

作用:web UI自动化测试

命令:py -3 -m pip install robotframework-selenium2library

Robot Framework(十二):使用RF进行web测试(上)_第1张图片

 

 

下载浏览器驱动

需要确保浏览器驱动和浏览器的版本要对应,另外需要注意的是robot fframework中打开浏览器的关键字中并没有指定浏览器驱动的参数,所以需要将3个浏览器的驱动放到python的安装目录\Scripts下,具体为:

 

Robot Framework(十二):使用RF进行web测试(上)_第2张图片

元素定位说明

Selenium2Library中定位元素时默认使用的是id,前面有\\会自动解析为xpath

Selenium2Library常用关键字

其它支持的关键字请参考官方文档:http://robotframework.org/Selenium2Library/Selenium2Library.html

Open Browser

 

作用:打开浏览器,并跳转到指定的url

语法:

Name:Open Browser

Source:Selenium2Library

Arguments:

[ url | browser=browser | alias=alias | remote_url=remote_url | desired_capabilities=desired_capabilities | ff_profile_dir=ff_profile_dir ]

参数说明:

  1. url:要访问的url
  2. Browser:浏览器名称,支持的浏览器如下:

Browser

Name(s)

Firefox

firefox, ff

Google Chrome

googlechrome, chrome, gc

Internet Explorer

internetexplorer, ie

Edge

edge

Safari

safari

Headless Firefox

headlessfirefox

Headless Chrome

headlesschrome

 

  1. alias:代表当前打开的浏览器的别名,可以在切换不同浏览器实例时使用
  2. remote_url:分布式selenium使用的远程服务url
  3. desired_capabilities:指定了remote_url之后,可以通过desired_capabilities参数进行配置,比如IE浏览器的代理。desired_capabilities传参时可以是python中的字典类型也可以是字符串类型的键值对,比如key1:value1,key2:value2

示例:

*** Settings ***

Library           Selenium2Library



*** Test Cases ***

test

    Open Browser    http://www.baidu.com    Chrome

    Open Browser    http://www.baidu.com    Firefox    alias=Firefox

    Open Browser    http://www.baidu.com    Edge    remote_url=http://127.0.0.1:4444/wd/hub

 

 

Input Text

作用:在指定的元素中输入指定的内容,比如百度搜索框

语法:

Name:Input Text

Source:Selenium2Library

Arguments:[ locator | text ]

参数说明:

  1. locator:元素的定位表达式
  2. text:待输入的内容

 

Input Password

作用:在指定的元素中输入密码

语法:

Name:Input Text

Source:Selenium2Library

Arguments:[ locator | password ]

参数说明:

  1. locator:元素的定位表达式
  2. password :待输入的密码值

说明:

和Input Text关键字的区别就是使用Input  Password时INFO级别的日志不会显示出来。Selenium2Library 库中和浏览器驱动通讯的日志是DEBUG级别的,所以如果不想把密码显示出来的话,那么日志的级别就不能设置为INFO以下。

click element

作用:单击元素

语法

Name:Click Element

Source:Selenium2Library

Arguments:[ locator | modifier=modifier ]

参数说明

locator:元素定位表达式

modifier :使用指定的键单击元素,感觉没什么用,使用默认参数即可

示例

*** Test Cases ***

baidu

    Comment    用Chrome浏览器访问百度

    Open Browser    http://www.baidu.com    Chrome

    Comment    使用d定位到输入框,输入gloryroad

    Input Password    kw    gloryroad

    Comment    使用id定位到搜索框并单击

    Click Element    //*[@id='su']    CTRL

    Comment    等待2描述

    sleep    2

    Comment    断言网页的标题变为gloryroad_百度搜索

    Title Should Be    gloryroad_百度搜索

    Comment    关闭浏览器

    Close Browser

执行结果

 

Maximize Browser Window

作用:窗口最大化,防止元素不能点击

语法:

Name:Maximize Browser Window

Source:Selenium2Library

Arguments:[ ]

 

​​​​​​​choose file

作用:上传文件

语法:

Name:Choose File

Source:Selenium2Library

Arguments:[ locator | file_path ]

参数说明:

  1. locator:input域的定位方式,非input的话不能使用此方式
  2. file_path:待上传的文件路径

 

​​​​​​​Select Frame

作用:切换到指定的frame或者iframe,比如126邮箱的登录页面

语法:

Name:Select Frame

Source:Selenium2Library

Arguments:[ locator ]

参数说明:

locator :frame的定位表达式

 

​​​​​​​Unselect Frame

作用:切换回默认的frame,相当于selenium中switch_to.default_content()

语法

Name:Unselect Frame

Source:Selenium2Library

Arguments:[ ]

 

你可能感兴趣的:(robot,framework)