Robotframework之页面元素操作功能

原文链接:https://www.cnblogs.com/wangdecheng/p/10880316.html

英文帮助文档:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#automatic-variables

下面列出常用的API

Selenium2Library用户关键字
*** Settings ***
Library           Selenium2Library

*** Keywords ***
Checkbox应该不被选择
    [Arguments]    ${locator}
    Checkbox Should Not Be Selected    ${locator}
    
Frame应该包含文本
    [Arguments]    ${locator}    ${text}    ${loglevel}=INFO
    Frame Should Contain    ${locator}    ${text}    ${loglevel}
    
List应该无选项
    [Arguments]    ${locator}
    List Should Have No Selections    ${locator}
    
List选项应该是
    [Arguments]    ${locator}    @{items}
    List Selection Should Be    ${locator}    @{items}
    
Radio按钮不应该被选择
    [Arguments]    ${group_name}
    Radio Button Should Not Be Selected    ${group_name}
    
Radio按钮应该被设置成
    [Arguments]    ${group_name}    ${value}
    Radio Button Should Be Set To    ${group_name}    ${value}
    
Url应该包含
    [Arguments]    ${expected}
    Location Should Contain    ${expected}
    
Xpath应该匹配X次
    [Arguments]    ${xpath}    ${expected_xpath_count}    ${msg}=    ${loglevel}=INFO
    Xpath Should Match X Times    ${xpath}    ${expected_xpath_count}    ${msg}    ${loglevel}
    
checkbox应该被选择
    [Arguments]    ${locator}
    checkbox should be selected    ${locator}
    
url应该是
    [Arguments]    ${url}
    Location Should Be    ${url}
    
下次确认选择取消
    Choose Cancel On Next Confirmation
    
下次确认选择确定
    Choose Ok On Next Confirmation
    
从List中取消选项
    [Arguments]    ${locator}    @{items}
    Unselect From List    ${locator}    @{items}
    
从List选择选项
    [Arguments]    ${locator}    @{items}
    Select From List    ${locator}    @{items}
    
偏移拖拽
    [Arguments]    ${source}    ${xoffset}    ${yoffset}
    Drag And Drop By Offset    ${source}    ${xoffset}    ${yoffset}
    
元素应该不包含文本
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Element Should Not Contain    ${locator}    ${expected}    ${msg}
    
元素应该不可用
    [Arguments]    ${locator}
    Element Should Be Disabled    ${locator}
    
元素应该不可见
    [Arguments]    ${locator}    ${msg}=
    Element Should Not Be Visible    ${locator}    ${msg}
    
元素应该包含文本
    [Arguments]    ${locator}    ${text}
    Element Should Contain    ${locator}    ${text}
    
元素应该匹配x次
    [Arguments]    ${locator}    ${count}    ${msg}=    ${loglevel}=INFO
    Locator Should Match X Times    ${locator}    ${count}    ${msg}    ${loglevel}
    
元素应该可用
    [Arguments]    ${locator}
    Element Should Be Enabled    ${locator}
    
元素应该可见
    [Arguments]    ${locator}
    Element Should Be Visible    ${locator}
    
元素文本应该是
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Element Text Should Be    ${locator}    ${expected}    ${msg}
    
全选List元素
    [Arguments]    ${locator}
    Select All From List    ${locator}
    
关闭所有浏览器
    Close All Browsers
    
关闭浏览器
    Close Browser
    
关闭窗口
    Close Window
    
切换浏览器
    [Arguments]    ${index}
    Switch Browser    ${index}
    
创建Webdriver
    [Arguments]    ${driver_name}    ${alias}=    ${kwargs}={}
    Create Webdriver    ${driver_name}    ${alias}    ${kwargs}
    
删除Cookie
    [Arguments]    ${name}
    Delete Cookie    ${name}
    
删除所有Cookie
    Delete All Cookies
    
删除本地策略
    [Arguments]    ${strategy_name}
    Remove Location Strategy    ${strategy_name}
    
刷新页面
    Reload Page
    
双击元素
    [Arguments]    ${locator}
    Double Click Element    ${locator}
    
取消选择Checkbox
    [Arguments]    ${locator}
    Unselect Checkbox    ${locator}
    
取消选择Frame
    Unselect Frame
    
回退
    Go Back
    
在图片上按下鼠标左键
    [Arguments]    ${locator}
    Mouse Down On Image    ${locator}
    
在连接上按下鼠标左键
    [Arguments]    ${locator}
    Mouse Down On Link    ${locator}
    
应该出现警告弹窗
    [Arguments]    ${text}=
    Alert Should Be Present    ${text}
    
当前Frame不应该包含
    [Arguments]    ${text}    ${loglvl}=INFO
    Current Frame Should Not Contain    ${text}    ${loglvl}
    
当前Frame包含
    [Arguments]    ${text}    ${loglevel}=INFO
    Current Frame Contains    ${text}    ${loglevel}
    
截屏
    [Arguments]    @{filename}
    Capture Page Screenshot    @{filename}
    
打开浏览器
    [Arguments]    ${url}    ${browser}=chrome    @{args}
    Open Browser    ${url}    ${browser}    @{args}
    
打开菜单
    [Arguments]    ${locator}
    Open Context Menu    ${locator}
    
执行js
    [Arguments]    ${code}
    Execute Javascript    ${code}
    
执行异步js
    [Arguments]    ${code}
    Execute Async Javascript    ${code}
    
拖拽元素
    [Arguments]    ${source}    ${target}
    Drag And Drop    ${source}    ${target}
    
按下鼠标左键
    [Arguments]    ${locator}
    Mouse Down    ${locator}
    
按键
    [Arguments]    ${locator}    ${key}
    [Documentation]    按键   text_field   q
    ...
    ...    按键   login_button  \13   #ASCII Code for enter Key
    Press Key    ${locator}    ${key}
    
提交表单
    [Arguments]    ${locator}=
    Submit Form    ${locator}
    
文本区值应该是
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Textarea Value Should Be    ${locator}    ${expected}    ${msg}
    
文本区应该包含
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Textarea Should Contain    ${locator}    ${expected}    ${msg}
    
文本框值应该是
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Textfield Value Should Be    ${locator}    ${expected}    ${msg}
    
文本框应该包含
    [Arguments]    ${locator}    ${expected}    ${msg}=
    Textfield Should Contain    ${locator}    ${expected}    ${msg}
    
最大化
    Maximize Browser Window
    
标题应该是
    [Arguments]    ${title}
    Title Should Be    ${title}
    
根据Index从List中取消选项
    [Arguments]    ${locator}    @{indexes}
    Unselect From List By Index    ${locator}    @{indexes}
    
根据Index从List选择
    [Arguments]    ${locator}    @{indexes}
    Select From List By Index    ${locator}    @{indexes}
    
根据Label从List中取消选项
    [Arguments]    ${locator}    @{Labels}
    Unselect From List By Label    ${locator}    @{Labels}
    
根据Label从List选择
    [Arguments]    ${locator}    @{labels}
    Select From List By Label    ${locator}    @{labels}
    
根据Value从List中取消选项
    [Arguments]    ${locator}    @{values}
    Unselect From List By Value    ${locator}    @{values}
    
根据Value从List选择
    [Arguments]    ${locator}    @{values}
    Select From List By Value    ${locator}    @{values}
    
根据值选择列表元素
    [Arguments]    ${locator}    ${value}
    Select From List By Value    ${locator}    ${value}
    
模拟
    [Arguments]    ${locator}    ${event}
    Simulate    ${locator}    ${event}
    
注册失败后运行的关键字
    [Arguments]    ${kwd}
    Register Keyword To Run On Failure    ${kwd}
    
添加cookie
    [Arguments]    ${name}    ${value}    ${path}=    ${domain}=    ${secure}=    ${expiry}=
    
添加本地策略
    [Arguments]    ${strategy_name}    ${strategy_keyword}    ${persist}=False
    Add Location Strategy    ${strategy_name}    ${strategy_keyword}    ${persist}
    
清除元素文本
    [Arguments]    ${locator}
    Clear Element Text    ${locator}
    
点击元素
    [Arguments]    ${path}
    Click Element    ${path}
    
点击元素坐标
    [Arguments]    ${locator}    ${xoffset}    ${yoffset}
    Click Element At Coordinates    ${locator}    ${xoffset}    ${yoffset}
    
点击图片
    [Arguments]    ${locator}
    Click Image    ${locator}
    
点击按钮
    [Arguments]    ${path}
    Click Button    ${path}
    
点击链接
    [Arguments]    ${locator}
    Click Link    ${locator}
    
睡眠
    [Arguments]    ${time}
    Sleep    ${time}
    
确认
    Confirm Action
    
窗口列表
    @{list}    List Windows
    [Return]    @{list}
    
等待元素不包含文本
    [Arguments]    ${locator}    ${text}    ${timeout}=    ${error}=
    Wait Until Element Does Not Contain    ${locator}    ${text}    ${timeout}    ${error}
    
等待元素不可见
    [Arguments]    ${locator}    ${timeout}=    ${error}=
    Wait Until Element Is Not Visible    ${locator}    ${timeout}    ${error}
    
等待元素包含文本
    [Arguments]    ${locator}    ${text}    ${timeout}=    ${error}=
    Wait Until Element Contains    ${locator}    ${text}    ${timeout}    ${error}
    
等待元素可用
    [Arguments]    ${locator}    ${timeout}=    ${error}=
    Wait Until Element Is Enabled    ${locator}    ${timeout}    ${error}
    
等待元素可见
    [Arguments]    ${locator}    ${timeout}=30
    Wait Until Element Is Visible    ${locator}    ${timeout}
    
等待执行成功
    [Arguments]    ${timeout}    ${retry}    ${keyword}    @{args}
    Wait Until Keyword Succeeds    ${timeout} minutes    ${retry} sec    ${keyword}    @{args}
    
等待条件成立
    [Arguments]    ${condition}    ${timeout}=    ${error}=
    Wait For Condition    ${condition}    ${timeout}    ${error}
    
等待页面不包含元素
    [Arguments]    ${locator}    ${timeout}=    ${error}=
    Wait Until Page Does Not Contain Element    ${locator}    ${timeout}    ${error}
    
等待页面包含元素
    [Arguments]    ${locator}    ${timeout}=    ${error}=
    Wait Until Page Contains Element    ${locator}    ${timeout}    ${error}
    
等待页面包含文本
    [Arguments]    ${text}    ${timeout}=    ${error}=
    Wait Until Page Contains    ${text}    ${timeout}    ${error}
    
给元素分配ID
    [Arguments]    ${locator}    ${id}
    Assign Id To Element    ${locator}    ${id}
    
获取Cookie值
    [Arguments]    ${name}
    ${value}    Get Cookie Value    ${name}
    [Return]    ${value}
    
获取List元素
    [Arguments]    ${locator}
    @{items}    Get List Items    ${locator}
    
获取List多个选定值
    [Arguments]    ${locator}
    @{values}    Get Selected List Values    ${locator}
    [Return]    @{values}
    
获取List多个选定标签
    [Arguments]    ${locator}
    @{labels}    Get Selected List Labels    ${locator}
    [Return]    @{labels}
    
获取List选定值
    [Arguments]    ${locator}
    ${value}    Get Selected List Value    ${locator}
    [Return]    ${value}
    
获取List选定标签
    [Arguments]    ${locator}
    ${label}    Get Selected List Label    ${locator}
    [Return]    ${label}
    
获取Selenium等待时间
    ${sec}    Get Selenium Implicit Wait
    [Return]    ${sec}
    
获取Selenium超时
    ${timeout}    Get Selenium Timeout
    [Return]    ${timeout}
    
获取Selenium速率
    ${res}    Get Selenium Speed
    [Return]    ${res}
    
获取xpath匹配次数
    [Arguments]    ${xpath}
    ${count}    Get Matching Xpath Count    ${xpath}
    [Return]    ${count}
    
获取元素值
    [Arguments]    ${locator}
    ${value}    Get Value    ${locator}
    [Return]    ${value}
    
获取元素属性
    [Arguments]    ${attribute_locator}
    Get Element Attribute    ${attribute_locator}
    
获取元素文本
    [Arguments]    ${locator}
    ${text}    Get Text    ${locator}
    [Return]    ${text}
    
获取坐标
    ${location}    Get Location
    [Return]    ${location}
    
获取垂直坐标
    [Arguments]    ${locator}
    ${vertical}    Get Vertical Position    ${locator}
    [Return]    ${vertical}
    
获取当前Url
    ${url}    Log Location
    [Return]    ${url}
    
获取当前页面标题
    ${title}    Log Title
    [Return]    ${title}
    
获取所有Cookie
    @{cookies}    Get Cookies
    [Return]    @{cookies}
    
获取所有连接
    @{links}    Get All Links
    [Return]    @{links}
    
获取文本
    [Arguments]    ${path}
    ${text}    get text    ${path}
    [Return]    ${text}

获取标题
    ${title}    get title
    [Return]    ${title}
    
获取水平坐标
    [Arguments]    ${locator}
    @{position}    Get Horizontal Position    ${locator}
    [Return]    @{position}
    
获取焦点
    [Arguments]    ${locator}
    Focus    ${locator}
    
获取窗口名字
    @{names}    Get Window Names
    [Return]    @{names}
    
获取窗口坐标
    ${x}    ${y}=    Get Window Position
    [Return]    ${x}    ${y}
    
获取窗口大小
    ${width}    ${higth}=    GET Window Size
    [Return]    ${width}    ${higth}
    
获取窗口标识
    @{windows}    Get Window Identifiers
    [Return]    @{windows}
    
获取窗口标题
    @{titles}    Get Window Titles
    [Return]    @{titles}
    
获取表格内容
    [Arguments]    ${table_locator}    ${row}    ${column}    ${loglevel}=INFO
    ${cell}    Get Table Cell    ${table_locator}    ${row}    ${column}    ${loglevel}
    [Return]    ${cell}
    
获取警告信息
    ${msg}    Get Alert Message
    [Return]    ${msg}
    
获取资源
    ${source}    Get Source
    [Return]    ${source}
    
获取页面元素
    [Arguments]    ${locator}
    @{elements}    Get Webelements    ${locator}
    [Return]    @{elements}
    
获取页面标题
    ${title}    Get Title
    [Return]    ${title}
    
获取页面资源
    [Arguments]    ${loglevel}=INFO
    ${source}    Log Source    ${loglevel}
    [Return]    ${source}
    
表头应该包含
    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO
    table header should contain    ${table_locator}    ${expected}    ${loglevel}
    
表头应该包含文本
    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO
    Table Header Should Contain    ${table_locator}    ${expected}    ${loglevel}
    
表应该包含文本
    [Arguments]    ${table_locator}    ${expected}    ${loglevel}=INFO
    Table Should Contain    ${table_locator}    ${expected}    ${loglevel}
    
表格Footer应该包含文本
    [Arguments]    ${table_locator}    ${expected}    ${loglevel}
    Table Footer Should Contain    ${table_locator}    ${expected}    ${loglevel}
    
表格列应该包含文本
    [Arguments]    ${table_locator}    ${col}    ${expected}    ${loglevel}=INFO
    Table Column Should Contain    ${table_locator}    ${col}    ${expected}    ${loglevel}
    
表格应该包含
    [Arguments]    ${table_locator}    ${row}    ${column}    ${expected}
    table cell should contain    ${table_locator}    ${row}    ${column}    ${expected}
    
表格应该包含文本
    [Arguments]    ${table_locator}    ${row}    ${column}    ${expected}    ${loglevel}=INFO
    Table Cell Should Contain    ${table_locator}    ${row}    ${column}    ${expected}    ${loglevel}
    
表格行应该包含文本
    [Arguments]    ${table_locator}    ${row}    ${expected}    ${loglvl}=INFO
    Table Row Should Contain    ${table_locator}    ${row}    ${expected}    ${loglvl}
    
设置Selenium等待
    [Arguments]    ${seconds}
    ${return}    Set Selenium Implicit Wait    ${seconds}
    [Return]    ${return}
    
设置Selenium超时
    [Arguments]    ${seconds}
    Set Selenium Timeout    ${seconds}
    
设置Selenium速率
    [Arguments]    ${speed}
    Set Selenium Speed    ${speed} seconds
    
设置浏览器等待时间
    [Arguments]    ${seconds}
    Set Browser Implicit Wait    ${seconds}
    
设置窗口坐标
    [Arguments]    ${x}    ${y}
    Set Window Position    ${x}    ${y}
    
设置窗口大小
    [Arguments]    ${width}    ${higth}
    Set Window Size    ${width}    ${higth}
    
跳转
    [Arguments]    ${url}
    Go To    ${url}
    
跳转到
    [Arguments]    ${url}
    go to    ${url}
    
输入密码
    [Arguments]    ${path}    ${passwd}
    Input password    ${path}    ${passwd}
    
输入文本
    [Arguments]    ${path}    ${str}
    Input Text    ${path}    ${str}
    
选择Checkbox
    [Arguments]    ${locator}
    Select Checkbox    ${locator}
    
选择Frame
    [Arguments]    ${locator}
    Select Frame    ${locator}
    
选择Radio按钮
    [Arguments]    ${group_name}    ${value}
    Select Radio Button    ${group_name}    ${value}
    
选择文件
    [Arguments]    ${locator}    ${file_path}
    Choose File    ${locator}    ${file_path}
    
选择窗口
    [Arguments]    ${locator}=
    Select Window    ${locator}
    
页面应该不包含Checkbox
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Checkbox    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含Link
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Link    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含List
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain List    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含Radio按钮
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Radio Button    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含元素
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Element    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含图片
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Image    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含按钮
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Button    ${locator}    ${msg}    ${loglevel}
    
页面应该不包含文本
    [Arguments]    ${text}    ${lvl}=INFO
    Page Should Not Contain    ${text}    ${lvl}
    
页面应该不包含文本框
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Not Contain Textfield    ${locator}    ${msg}    ${loglevel}
    
页面应该包含Checkbox
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Checkbox    ${locator}    ${msg}    ${loglevel}
    
页面应该包含Link
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Link    ${locator}    ${msg}    ${loglevel}
    
页面应该包含List
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain List    ${locator}    ${msg}    ${loglevel}
    
页面应该包含Radio按钮
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Radio Button    ${locator}    ${msg}    ${loglevel}
    
页面应该包含元素
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Element    ${locator}    ${msg}    ${loglevel}
    
页面应该包含图片
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Image    ${locator}    ${msg}    ${loglevel}
    
页面应该包含按钮
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Button    ${locator}    ${msg}    ${loglevel}
    
页面应该包含文本
    [Arguments]    ${text}    ${loglevel}=INFO
    Page Should Contain    ${text}    ${loglevel}
    
页面应该包含文本框
    [Arguments]    ${locator}    ${msg}=    ${loglevel}=INFO
    Page Should Contain Textfield    ${locator}    ${msg}    ${loglevel}
    
鼠标悬停
    [Arguments]    ${locator}
    Mouse Over    ${locator}
    
鼠标移出
    [Arguments]    ${locator}
    Mouse Out    ${locator}
    
鼠标释放
    [Arguments]    ${locator}

***********************************************************

原文地址:https://www.cnblogs.com/yimai-series/p/13177106.html