Clear Anchor

Clears control anchor set by Set Anchor

This means that all following keywords accessing elements will use active window or desktop as root element.

Click

Mouse click on element matching given locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
wait_timefloat, NoneNonetime to wait after click, default is a library wait_time, see keyword Set Wait Time
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout

Exception ActionNotPossible is raised if element does not allow Click action.

param locator:string locator or Control element
param wait_time:
 time to wait after click, default is a library wait_time, see keyword Set Wait Time
param timeout:float value in seconds, see keyword Set Global Timeout
return:WindowsElement object

Examples

Click  id:button1
Click  id:button2 offset:10,10
${element}=  Click  name:SendButton  wait_time=5.0

Close Current Window

Closes current active window or logs a warning message.

return:True if close was successful, False if not

Examples

${status}=  Close Current Window

Close Window

Closes identified windows or logs the problems.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNoneString locator or Control element.
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout
param locator:String locator or Control element.
param timeout:float value in seconds, see keyword Set Global Timeout
return:How many windows were found and closed.

Examples

${closed_count} =     Close Window    Calculator

Control Child Window

Get control of child window of the active window by locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or Control element
foregroundboolTrueTrue to bring window to foreground
wait_timefloat, NoneNonetime to wait after activeting a window
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout
param locator:string locator or Control element
param foreground:
 True to bring window to foreground
param wait_time:
 time to wait after activeting a window
param timeout:float value in seconds, see keyword Set Global Timeout
return:WindowsElement object

Examples

Control Window   subname:"Sage 50" type:Window
# actions on the main application window


Control Child Window   subname:"Test Company" depth:1

Control Window

Controls the window defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or Control element
foregroundboolTrueTrue to bring window to foreground
wait_timefloat, NoneNonetime to wait after activating a window
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout
mainboolTrueon True (default) starts search from desktop level, on False will continue search on child elements of current active window

This means that this window is used as a root element for all the following keywords using locators.

Returns WindowsElement.

param locator:string locator or Control element
param foreground:
 True to bring window to foreground
param wait_time:
 time to wait after activating a window
param timeout:float value in seconds, see keyword Set Global Timeout
param main:on True (default) starts search from desktop level, on False will continue search on child elements of current active window
return:WindowsElement object

Examples

Control Window   Calculator
Control Window   name:Calculator
Control Window   subname:Notepad
Control Window   regex:.*Notepad
${window}=  Control Window   executable:Spotify.exe

Double Click

Double mouse click on element matching given locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
wait_timefloat, NoneNonetime to wait after click, default is a library wait_time, see keyword Set Wait Time
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout

Exception ActionNotPossible is raised if element does not allow Click action.

param locator:string locator or Control element
param wait_time:
 time to wait after click, default is a library wait_time, see keyword Set Wait Time
param timeout:float value in seconds, see keyword Set Global Timeout
return:WindowsElement object

Examples

${element}=  Double Click  name:ResetButton

Drag And Drop

Drag and drop the source element into target element.

Arguments

Argument Type Default value Description
source_elementWindowsElement, strnull
target_elementWindowsElement, strnull
speedfloat, None1.0adjust speed of operation, bigger value means more speed
copybool, NoneFalseon True does copy drag and drop, defaults to move
wait_timefloat, None1.0time to wait after drop, default 1.0 seconds
param source:source element for the operation
param target:target element for the operation
param speed:adjust speed of operation, bigger value means more speed
param copy:on True does copy drag and drop, defaults to move
param wait_time:
 time to wait after drop, default 1.0 seconds

Examples

# copying a file, report.html, from source (File Explorer) window


Drag And Drop
...    name:C:\temp type:Windows > name:report.html type:ListItem
...    name:%{USERPROFILE}\Documents\artifacts type:Windows > name:"Items View"
...    copy=True

Example:

# moving *.txt files into subfolder within one (File Explorer) window
${source_dir}=    Set Variable    %{USERPROFILE}\Documents\test
Control Window    name:${source_dir}
${files}=    Find Files    ${source_dir}${/}*.txt
# first copy files to folder2
FOR    ${file}    IN    @{files}
    Drag And Drop    name:${file.name}    name:folder2 type:ListItem    copy=True
END
# second move files to folder1
FOR    ${file}    IN    @{files}
    Drag And Drop    name:${file.name}    name:folder1 type:ListItem
END

Foreground Window

Bring the current active window or the window defined by the locator to the foreground.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or Control element
param locator:string locator or Control element
return:WindowsElement object

Examples

${window}=  Foreground Window   Calculator

Get Attribute

Get attribute value of the element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
attributestrnullname of the attribute to get
param locator:string locator or Control element
param attribute:
 name of the attribute to get
return:value of attribute

Examples

${id}=   Get Attribute  type:Edit name:firstname   AutomationId

Get Element

Get a Control Windows element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNoneLocator as a string or as an element object.
search_depthint8How deep the element search will traverse. (default 8)
root_elementWindowsElement, NoneNoneWill be used as search root element object if provided.
timeoutfloat, NoneNoneAfter how many seconds (float) to give up on search. (see keyword Set Global Timeout)

The returned element can be used instead of a locator string for other keywords accepting the locator parameter. Keyword Get Attribute can be used to read element attribute values.

If locator is None, then the returned element will be in this priority:

  1. root_element if provided.
  2. Anchor element if that has been previously set with Set Anchor.
  3. Current active window if that has been set with Control Window.
  4. Last resort is the "Desktop" element.
param locator:Locator as a string or as an element object.
param search_depth:
 How deep the element search will traverse. (default 8)
param root_element:
 Will be used as search root element object if provided.
param timeout:After how many seconds (float) to give up on search. (see keyword Set Global Timeout)
returns:The identified WindowsElement object.

Example: Robot Framework

*** Tasks ***
Set Text Into Notepad Window
    Windows Run    Notepad
    Control Window      subname:Notepad
    ${element} =    Get Element    regex:"Text (E|e)ditor"
    Set Value    ${element}    note to myself

Get Elements

Get a list of elements matching the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNoneLocator as a string or as an element object.
search_depthint8How deep the element search will traverse. (default 8)
root_elementWindowsElement, NoneNoneWill be used as search root element object if provided.
timeoutfloat, NoneNoneAfter how many seconds (float) to give up on search. (see keyword Set Global Timeout)
siblings_onlyboolTrueFilter for elements on the same level as the initially found one. Turn it off for a global search. (True by default)

By default, only the siblings (similar elements on the same level) are taken into account. In order to search globally, turn siblings_only off, but be aware that this will take more time to process. For more details on the rest of parameters, take a look at the Get Element keyword.

param locator:Locator as a string or as an element object.
param search_depth:
 How deep the element search will traverse. (default 8)
param root_element:
 Will be used as search root element object if provided.
param timeout:After how many seconds (float) to give up on search. (see keyword Set Global Timeout)
param siblings_only:
 Filter for elements on the same level as the initially found one. Turn it off for a global search. (True by default)
returns:A list of matching WindowsElement objects.

Example: Robot Framework

*** Tasks ***
Get Headers On Same Level
    Set Anchor      id:DataGrid
    @{elements} =   Get Elements    type:HeaderItem
    FOR    ${element}    IN    @{elements}
        Log To Console    ${element.name}
    END

Get All Calculator Buttons Matching Expression
    Windows Run    Calc
    Control Window    subname:Calc
    @{buttons} =    Get Elements    class:Button regex:.*o.*
    ...     siblings_only=${False}
    Log List    ${buttons}
    ${length} =     Get Length      ${buttons}
    Log To Console      Number of buttons: ${length}

Get Os Version

Returns the current Windows major version as string.

Examples

${ver} =     Get OS Version
Log     ${ver}  # 10

Get Text

Get text from Control element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element

Exception ActionNotPossible is raised if element does not allow GetWindowText action.

param locator:string locator or Control element
return:value of WindowText attribute of an element

Examples

${date} =  Get Text   type:Edit name:"Date of birth"

Get Value

Get value of the element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element

Exception ActionNotPossible is raised if element does not allow GetValuePattern action.

param locator:string locator or Control element
return:value of ValuePattern attribute of an element

Examples

${value}=   Get Value   type:DataItem name:column1

List Attributes

List all element attributes.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
param locator:string locator or Control element
return:list of element attributes (strings)

List Windows

List all window element on the system.

Arguments

Argument Type Default value Description
iconsboolFalseon True dictionary will contain Base64 string of the icon, default False
icon_save_directorystr, NoneNoneif set will save retrieved icons into this filepath, by default icon files are not saved
param icons:on True dictionary will contain Base64 string of the icon, default False
param icon_save_directory:
 if set will save retrieved icons into this filepath, by default icon files are not saved
return:list of dictionaries containing information about Window elements

Examples

${windows}=  List Windows
FOR  ${window}  IN  @{windows}
    Log  Window title:${window}[title]
    Log  Window process name:${window}[name]
    Log  Window process id:${window}[pid]
    Log  Window process handle:${window}[handle]
END

Maximize Window

Maximize the current active window or the window defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or element
param locator:string locator or element
return:WindowsElement object

Examples

${window} =    Maximize Window  # Current active window
Maximize Window    executable:Spotify.exe

Middle Click

Right mouse click on element matching given locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
wait_timefloat, NoneNonetime to wait after click, default is a library wait_time, see keyword Set Wait Time
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout

Exception ActionNotPossible is raised if element does not allow Click action.

param locator:string locator or Control element
param wait_time:
 time to wait after click, default is a library wait_time, see keyword Set Wait Time
param timeout:float value in seconds, see keyword Set Global Timeout
return:WindowsElement object

Examples

${element}=  Middle Click  name:button2

Minimize Window

Minimize the current active window or the window defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or element
param locator:string locator or element
return:WindowsElement object

Examples

${window} =    Minimize Window  # Current active window
Minimize Window    executable:Spotify.exe

Restore Window

Window restore the current active window or the window defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or element
param locator:string locator or element
return:WindowsElement object

Examples

${window} =    Restore Window  # Current active window
Restore Window    executable:Spotify.exe

Right Click

Right mouse click on element matching given locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
wait_timefloat, NoneNonetime to wait after click, default is a library wait_time, see keyword Set Wait Time
timeoutfloat, NoneNonefloat value in seconds, see keyword Set Global Timeout

Exception ActionNotPossible is raised if element does not allow Click action.

param locator:string locator or Control element
param wait_time:
 time to wait after click, default is a library wait_time, see keyword Set Wait Time
param timeout:float value in seconds, see keyword Set Global Timeout
return:WindowsElement object

Examples

${element}=  Right Click  name:MenuButton

Screenshot

Take a screenshot of the element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
filenamestrnullimage filename

Exception ActionNotPossible is raised if element does not allow CaptureToImage action.

param locator:string locator or Control element
param filename:image filename
return:absolute path to the screenshot file

Examples

Screenshot  desktop   desktop.png
Screenshot  subname:Notepad   notepad.png

Select

Select value on Control element if action is supported.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
valuestrnullstring value to select on Control element

Exception ActionNotPossible is raised if element does not allow Select action.

param locator:string locator or Control element
param value:string value to select on Control element
return:WindowsElement object

Examples

Select  type:SelectControl   option2

Send Keys

Send keys to desktop, current window or to Control element defined by given locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or Control element (default None means desktop)
keysstr, NoneNonethe keys to send
intervalfloat0.01time between sending keys, default 0.01 seconds
wait_timefloat, NoneNonetime to wait after sending keys, default is a library wait_time, see keyword Set Wait Time
send_enterboolFalseif True then {Enter} is sent at the end of the keys

If locator is None then keys are sent to desktop.

Exception ActionNotPossible is raised if element does not allow SendKeys action.

param locator:string locator or Control element (default None means desktop)
param keys:the keys to send
param interval:time between sending keys, default 0.01 seconds
param wait_time:
 time to wait after sending keys, default is a library wait_time, see keyword Set Wait Time
param send_enter:
 if True then {Enter} is sent at the end of the keys
return:WindowsElement object

Examples

Send Keys  desktop   {Ctrl}{F4}
Send Keys  keys={Ctrl}{F4}   # locator will be NONE, keys send to desktop
${element}=   Send Keys  id:input5  username   send_enter=True
${element}=   Get Element   id:pass
Send Keys  ${element}  password   send_enter=True

Set Anchor

Set anchor to an element specified by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
timeoutfloat, NoneNonetimeout in seconds for element lookup (default 10.0)

All following keywords using locators will use this element as an root element. Specific use case could be setting anchor to TableControl element and then getting column data belonging to that TableControl element.

To release anchor call Clear Anchor keyword.

param locator:string locator or Control element
param timeout:timeout in seconds for element lookup (default 10.0)

Examples

Set Anchor  type:Table name:Orders depth:16
FOR  ${row}  IN RANGE  200
    ${number}=  Get Value   name:number row ${row}
    Exit For Loop If   $number == ${EMPTY}
    ${sum}=  Get Value   name:sum row ${row}
    Log   Order number:${number} has sum:{sum}
END
Clear Anchor

Set Focus

Set view focus to the element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, strnullstring locator or Control element
param locator:string locator or Control element

Examples

Set Focus  name:Buy type:Button

Set Global Timeout

Set global timeout for element search. Applies also to Control Window keyword.

Arguments

Argument Type Default value Description
timeoutfloatnullfloat value in seconds

By default library has timeout of 10 seconds.

param timeout:float value in seconds
return:previous timeout value

Examples

${old_timeout}=  Set Global Timeout  20
${old_timeout}=  Set Global Timeout  9.5

Set Value

Set value of the element defined by the locator.

Arguments

Argument Type Default value Description
locatorWindowsElement, str, NoneNonestring locator or Control element
valuestr, NoneNonestring value to set
appendboolFalseFalse for setting value, True for appending value
enterboolFalseset True to press enter key at the end of the line
newlineboolFalseset True to add newline to the end of value

Note. Anchor works only on element structures where it can be relied on that root/child element tree will remain the same. Usually these kind of structures are tables.

Exception ActionNotPossible is raised if element does not allow SetValue action.

param locator:string locator or Control element
param value:string value to set
param append:False for setting value, True for appending value
param enter:set True to press enter key at the end of the line
param newline:set True to add newline to the end of value
return:WindowsElement object

Note. It is important to set append=True if you want keep text in the element. Other option is to read current text into a variable and modify that value to pass for Set Value keyword.

Examples

Set Value   type:DataItem name:column1   ab c  # Set value to "ab c"

Set Value    type:Edit name:"File name:"    console.txt    enter=True

# Add newline (manually) at the end of the string (Notepad example)
Set Value    name:"Text Editor"  abc\n
# Add newline with parameter
Set Value    name:"Text Editor"  abc   newline=${True}

# Clear Notepad window and start appending text
Set Anchor  name:"Text Editor"
# all following keyword calls will use anchor element as locator

${time}=    Get Time
# Clears when append=False (default)
Set Value    value=time now is ${time}
# Append text and add newline to the end
Set Value    value= and it's task run time    append=True    newline=True
# Continue appending
Set Value    value=this will appear on the 2nd line    append=True

Set Wait Time

Set library wait time for action keywords.

Arguments

Argument Type Default value Description
wait_timefloatnullfloat value (in seconds), e.g. 0.1

The wait_time is spent after each keyword performing mouse or keyboard action.

Library default wait_time is 0.5

Returns value of the previous wait_time value.

param wait_time:
 float value (in seconds), e.g. 0.1
return:previous wait value

Examples

${old_wait_time}=  Set Wait Time  0.2

Windows Run

Use Windows run window to launch application.

Arguments

Argument Type Default value Description
textstrnulltext to enter into run input field
wait_timefloat3.0sleep time after search has been entered (default 3.0 seconds)

Activated by pressing win + r.

param text:text to enter into run input field
param wait_time:
 sleep time after search has been entered (default 3.0 seconds)

Examples

Windows Run   explorer.exe