RobotFramework学习04-扩展库之 SeleniumLibrary

RobotFramework学习笔记目录


本文包含内容:

  1. 浏览器驱动
  2. 关闭浏览器
  3. 浏览器最大化
  4. 获取/设置浏览器窗口宽、高
  5. 文本输入
  6. 点击元素
  7. 点击按钮
  8. 等待元素出现
  9. 获取title
  10. 获取text
  11. 获取元素属性值
  12. cookie处理
  13. 验证
  14. 表单嵌套
  15. 下拉框选择
  16. 执行执行 JavaScript

SeleniumLibrary库

  • SeleniumLibrary安装参考:RobotFramework学习01-基本配置及初步使用
  • 使用(导入)
*** Settings ***
Library  SeleniumLibrary
1. 浏览器驱动
  • 浏览器对应的关键字
  1. 要想通过不同的浏览打开 URL 地址,一定要安装浏览器相对应的驱动。
  2. 如果不设置浏览器,默认打开 Firefox.
# 格式
    Open Browser   网址   浏览器
# 实例
百度搜索
    Open Browser    http://www.baidu.com    chrome
关键字 浏览器/设备
firefox FireFox
ff FireFox
internetexplorer Internet Explorer
ie Internet Explorer
googlechrome Google Chrome
gc Google Chrome
chrome Google Chrome
opera Opera
phantomjs PhantomJS
htmlunit HTMLUnit
htmlunitwithjs HTMLUnit with Javascipt support
android Android
iphone Iphone
safari Safari
edge Edge
2. 关闭浏览器
  • close browser 关闭当前的浏览器。
  • close all browsers 关键所有打开的浏览器和缓存重置。
    Close Browsers
    Close All Browsers
3. 浏览器最大化
  • Maximize Browser Window 关键字使当前打开的浏览器全屏。
Maximize Browser Window
4. 获取/设置浏览器窗口宽、高
  • get window size关键字获取打开浏览器的宽度和高度,以像素为单位。
百度搜索
    Open Browser                  http://www.baidu.com    chrome
    ${width}    ${height}    get window size
    log to console    ${width}
    log to console   ${height}
RobotFramework学习04-扩展库之 SeleniumLibrary_第1张图片
  • set window size关键字用于设置打开浏览器的宽度和高度。以像素为单位,第一个参数 800 表示宽度,第二个参数 600 表示高度。
百度搜索
    Open Browser                  http://www.baidu.com    chrome
    set Window Size    800    600
5. 文本输入
  • input text关键字用于向文本框内输入内容。 xpath=//* [@] :表示元素定位,定位文本输入框。 aa 表示要输入的内容
Input Text    xpath=//*[@]    aa
6. 点击元素
  • Click Element关键字用于点击页面上的元素,单击任何可以点击按钮、文字/图片连接、复选框、单选框、甚至是下拉框等。 xpath=//* [@] :表示元素定位,定位点击的元素。
Click Element    xpath=//*[@]
7. 点击按钮
  • Click Button关键字用于点击页面上的按钮。 Xpath=//* [@] :表示元素定位,定位点击的按钮。
Click Button    Xpath=//*[@]
8. 等待元素出现
  • Wait Until Page Contains Element关键字用于等待页面上的元素显示出来;Xpath=//* [@] :表示元素定位,这里定位出现的元素;42 : 表示最长等待时间;Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”

Wait Until Page Contains Element Xpath=//*[@] 42 error

百度搜索松勤
    Open Browser                  http://www.baidu.com    chrome
    Wait Until Page Contains Element  xpath=//*[@id=1]//*[@class='op-beijingtime-date']  5   找不到元素
RobotFramework学习04-扩展库之 SeleniumLibrary_第2张图片
9. 获取 title
  • get title关键字用于获得当前浏览器窗口的 title 信息。

这里只获取 title 是没有意义的,我们通常会将获取的 title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。

*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
test case4
    Open Browser   https://www.jianshu.com/u/07e55a71f5dd    chrome
    Set Selenium Implicit Wait    5
    sleep  3
    ${title}=  get title
    log to console  ${title}
    close browser
RobotFramework学习04-扩展库之 SeleniumLibrary_第3张图片
10. 获取 text
  • get text 关键字用于获取元素的文本信息。 xpath=//* [@] : 定位文本信息的元素。
Get Text     xpath=//*[@]
11. 获取元素属性值
  • id=kw@name:id=kw 表示定位的元素。@name 获取这个元素的 name 属性值。
*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
test case 5
    Open Browser                  http://www.baidu.com    chrome
    Set Selenium Implicit Wait    5
    ${name}=  Get Element Attribute   id=kw@name
    log to console  ${name}
    close browser
RobotFramework学习04-扩展库之 SeleniumLibrary_第4张图片
12. cookie 处理
  • get cookies 获得当前浏览器的所有 cookie 。
  • get cookie value 获得 cookie 值。key_name 表示一对 cookie 中 key 的 name 。
  • add cookie 添加 cookie。添加一对 cookie (key:value)
  • delete cookie 删除 cookie。删除 key 为 name 的 cookie 信息。
  • delete all cookies 删除当前浏览器的所有 cookies。
get cookies
get cookie value     Key_name
add cookie           Key_name    Value_name
delete cookie        Key_name
delete all cookies
13. 验证
  • should contain验证信息是否正确
*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
test case 5
    open browser    https://www.jianshu.com/u/07e55a71f5dd    chrome   # 通过chrome浏览器打开网址...
    ${title}    Get Title  # 获取title并赋值给变量${title}
    should contain    ${title}    残阳夕露 -    # 比较
    close browser   # 关闭浏览器
14. 表单嵌套

有时候和页面中会出现表单嵌套,这个时候需要进入到表单才能操作相关元素。

  • Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。 Unselect Frame 退出表单。
Select Frame    Xpath=//* [@]
Unselect Frame
15. 下拉框选择

Unselect From List By Value 关键字用于选择下拉框。 Xpath=//* [@] 定位下拉框; Vlaue 选择下拉框里的属性值。

Unselect From List By Value Xpath=//* [@] vlaue
16. 执行 JavaScript
  • 在一些特殊的情况下需要调用 JavaScript 代码,Execute Javascript 关键字用于使用 JavaScript 代码
Execute Javascript $("#tooltip").fadeOut();

你可能感兴趣的:(RobotFramework学习04-扩展库之 SeleniumLibrary)