Sahi Documentation

Windows Accessor APIs

Windows Elements

_generic

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_generic(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th generic in the UI)
//name
_generic("generic_name")
//index
_generic(5)
//multiple attributes as JSON
_generic({name: "generic_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_generic({name: "/generic .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_generic("generic_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_generic(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_generic("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuetext (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_generic("generic_name"));
_click(_generic("/Name/[1]", _rightOf(_image("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_generic("generic_id"));
// Check if element is visible
_assert(_isVisible(_generic("generic_id")));

_button

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_button(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th button in the UI)
//name
_button("button_name")
//index
_button(5)
//multiple attributes as JSON
_button({name: "button_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_button({name: "/button .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_button("button_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_button(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_button("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuetext (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_button("button_name"));
_click(_button("/Name/[1]", _rightOf(_image("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_button("button_id"));
// Check if element is visible
_assert(_isVisible(_button("button_id")));

_calendar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_calendar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th calendar in the UI)
//name
_calendar("calendar_name")
//index
_calendar(5)
//multiple attributes as JSON
_calendar({name: "calendar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_calendar({name: "/calendar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_calendar("calendar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_calendar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_calendar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuegrid,value,selection (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_calendar("calendar_name"), null);
_setValue(_calendar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_calendar("calendar_id"));
// Check if element is visible
_assert(_isVisible(_calendar("calendar_id")));

_checkbox

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_checkbox(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th checkbox in the UI)
//name
_checkbox("checkbox_name")
//index
_checkbox(5)
//multiple attributes as JSON
_checkbox({name: "checkbox_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_checkbox({name: "/checkbox .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_checkbox("checkbox_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_checkbox(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_checkbox("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuetoggle (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_checkbox("checkbox_name"), null);
_setValue(_checkbox("/Name/[1]", _rightOf(_image("Name"))), null);
// Check irrespective of whether it was checked or unchecked
_check(_checkbox("checkbox_name"));
// Uncheck irrespective of whether it was checked or unchecked
_uncheck(_checkbox("checkbox_name"));
Assertions Example assertions:
// Check if element exists
_assertExists(_checkbox("checkbox_id"));
// Check if element is visible
_assert(_isVisible(_checkbox("checkbox_id")));

_select | _combobox | _wCombobox

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _select or _combobox or _wCombobox
API_select(identifier [, relation1 [, relation2 ...]])
IdentifiersautomationId, name, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th select in the UI)
//name
_select("select_name")
//index
_select(5)
//multiple attributes as JSON
_select({name: "select_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_select({name: "/select .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_select(, _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_select(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_select("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValueoptionText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_select(), "option one");
_setValue(_select("/Name/[1]", _rightOf(_image("Name"))), "option one");
// select by index
_setSelected(_select("select_name"), 3);
// multi select by index
_setSelected(_select("select_name"), 4, true);
// select another in multiselect
_setSelected(_select("select_name"), "another one", true);
// select multiple in multiselect
_setSelected(_select("select_name"), ["opt one", "opt two"]);
// select multiple by index in multiselect
_setSelected(_select("select_name"), [1,2]);
// select some more in multiselect
_setSelected(_select("select_name"), ["opt three", "opt four"], true);
Assertions Example assertions:
// Check if element exists
_assertExists(_select("select_id"));
// Check if element is visible
_assert(_isVisible(_select("select_id")));

// single option
_assertEqual("option one", _getSelectedText(_select("select_id")));
// multiple options
_assertEqual("option one,option three", _getSelectedText(_select("select_id")));

_custom

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_custom(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th custom in the UI)
//name
_custom("custom_name")
//index
_custom(5)
//multiple attributes as JSON
_custom({name: "custom_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_custom({name: "/custom .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_custom("custom_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_custom(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_custom("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_custom("custom_name"), null);
_setValue(_custom("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_custom("custom_id"));
// Check if element is visible
_assert(_isVisible(_custom("custom_id")));

_datagrid

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_datagrid(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th datagrid in the UI)
//name
_datagrid("datagrid_name")
//index
_datagrid(5)
//multiple attributes as JSON
_datagrid({name: "datagrid_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_datagrid({name: "/datagrid .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_datagrid("datagrid_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_datagrid(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_datagrid("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuegrid,selection,table (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_datagrid("datagrid_name"), null);
_setValue(_datagrid("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_datagrid("datagrid_id"));
// Check if element is visible
_assert(_isVisible(_datagrid("datagrid_id")));

_dataitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_dataitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, index

Valid Accessors and alternatives: (Assume this is the 6th dataitem in the UI)
//name
_dataitem("dataitem_name")
//index
_dataitem(5)
//multiple attributes as JSON
_dataitem({name: "dataitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_dataitem({name: "/dataitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_dataitem("dataitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_dataitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_dataitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuevalue (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_dataitem("dataitem_name"), "apple");
_setValue(_dataitem("/Name/[1]", _rightOf(_image("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_dataitem("dataitem_id"));
// Check if element is visible
_assert(_isVisible(_dataitem("dataitem_id")));
_assertEqual("apple", _getValue(_dataitem("dataitem_id")));

_document

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_document(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, label, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th document in the UI)
//name
_document("document_name")
//label
_document("elementLabel")
//index
_document(5)
//multiple attributes as JSON
_document({name: "document_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_document({name: "/document .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_document("document_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_document(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_document("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuescroll,text (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_document("document_name"), null);
_setValue(_document("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_document("document_id"));
// Check if element is visible
_assert(_isVisible(_document("document_id")));

_textbox | _edit | _wEdit

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _textbox or _edit or _wEdit
API_textbox(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, label, helpText, index, value

Valid Accessors and alternatives: (Assume this is the 6th textbox in the UI)
//name
_textbox("textbox_name")
//label
_textbox("elementLabel")
//index
_textbox(5)
//value
_textbox("apple")
//multiple attributes as JSON
_textbox({name: "textbox_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_textbox({name: "/textbox .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_textbox("textbox_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_textbox(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_textbox("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuevalue (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_textbox("textbox_name"), "apple");
_setValue(_textbox("/Name/[1]", _rightOf(_image("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_textbox("textbox_id"));
// Check if element is visible
_assert(_isVisible(_textbox("textbox_id")));
_assertEqual("apple", _getValue(_textbox("textbox_id")));

_group

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_group(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th group in the UI)
//name
_group("group_name")
//index
_group(5)
//multiple attributes as JSON
_group({name: "group_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_group({name: "/group .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_group("group_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_group(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_group("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_group("group_name"), null);
_setValue(_group("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_group("group_id"));
// Check if element is visible
_assert(_isVisible(_group("group_id")));

_header

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_header(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th header in the UI)
//name
_header("header_name")
//index
_header(5)
//multiple attributes as JSON
_header({name: "header_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_header({name: "/header .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_header("header_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_header(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_header("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_header("header_name"), null);
_setValue(_header("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_header("header_id"));
// Check if element is visible
_assert(_isVisible(_header("header_id")));

_headeritem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_headeritem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th headeritem in the UI)
//name
_headeritem("headeritem_name")
//index
_headeritem(5)
//multiple attributes as JSON
_headeritem({name: "headeritem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_headeritem({name: "/headeritem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_headeritem("headeritem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_headeritem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_headeritem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_headeritem("headeritem_name"), null);
_setValue(_headeritem("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_headeritem("headeritem_id"));
// Check if element is visible
_assert(_isVisible(_headeritem("headeritem_id")));

_link | _hyperlink | _wHyperlink

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _link or _hyperlink or _wHyperlink
API_link(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th link in the UI)
//name
_link("link_name")
//index
_link(5)
//multiple attributes as JSON
_link({name: "link_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_link({name: "/link .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_link("link_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_link(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_link("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_link("link_name"), null);
_setValue(_link("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_link("link_id"));
// Check if element is visible
_assert(_isVisible(_link("link_id")));

_image

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_image(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th image in the UI)
//name
_image("image_name")
//index
_image(5)
//multiple attributes as JSON
_image({name: "image_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_image({name: "/image .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_image("image_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_image(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_image("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_image("image_name"), null);
_setValue(_image("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_image("image_id"));
// Check if element is visible
_assert(_isVisible(_image("image_id")));

_list

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_list(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th list in the UI)
//name
_list("list_name")
//index
_list(5)
//multiple attributes as JSON
_list({name: "list_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_list({name: "/list .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_list("list_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_list(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_list("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valueselection,table,grid,multipleView (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_list("list_name"), null);
_setValue(_list("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_list("list_id"));
// Check if element is visible
_assert(_isVisible(_list("list_id")));

_listview

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_listview(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th listview in the UI)
//name
_listview("listview_name")
//index
_listview(5)
//multiple attributes as JSON
_listview({name: "listview_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_listview({name: "/listview .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_listview("listview_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_listview(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_listview("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valueselection,table,grid,multipleView (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_listview("listview_name"), null);
_setValue(_listview("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_listview("listview_id"));
// Check if element is visible
_assert(_isVisible(_listview("listview_id")));

_listitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_listitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th listitem in the UI)
//name
_listitem("listitem_name")
//index
_listitem(5)
//multiple attributes as JSON
_listitem({name: "listitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_listitem({name: "/listitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_listitem("listitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_listitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_listitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_listitem("listitem_name"));
_click(_listitem("/Name/[1]", _rightOf(_image("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_listitem("listitem_id"));
// Check if element is visible
_assert(_isVisible(_listitem("listitem_id")));

_menu

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_menu(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th menu in the UI)
//name
_menu("menu_name")
//index
_menu(5)
//multiple attributes as JSON
_menu({name: "menu_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_menu({name: "/menu .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_menu("menu_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_menu(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_menu("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_menu("menu_name"), null);
_setValue(_menu("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_menu("menu_id"));
// Check if element is visible
_assert(_isVisible(_menu("menu_id")));

_menubar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_menubar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th menubar in the UI)
//name
_menubar("menubar_name")
//index
_menubar(5)
//multiple attributes as JSON
_menubar({name: "menubar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_menubar({name: "/menubar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_menubar("menubar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_menubar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_menubar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_menubar("menubar_name"), null);
_setValue(_menubar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_menubar("menubar_id"));
// Check if element is visible
_assert(_isVisible(_menubar("menubar_id")));

_menuitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_menuitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th menuitem in the UI)
//name
_menuitem("menuitem_name")
//index
_menuitem(5)
//multiple attributes as JSON
_menuitem({name: "menuitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_menuitem({name: "/menuitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_menuitem("menuitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_menuitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_menuitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValueexpandCollapse,toggle (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_menuitem("menuitem_name"), null);
_setValue(_menuitem("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_menuitem("menuitem_id"));
// Check if element is visible
_assert(_isVisible(_menuitem("menuitem_id")));

_pane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_pane(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th pane in the UI)
//name
_pane("pane_name")
//index
_pane(5)
//multiple attributes as JSON
_pane({name: "pane_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_pane({name: "/pane .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_pane("pane_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_pane(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_pane("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuetransform (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_pane("pane_name"), null);
_setValue(_pane("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_pane("pane_id"));
// Check if element is visible
_assert(_isVisible(_pane("pane_id")));

_progressbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_progressbar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th progressbar in the UI)
//name
_progressbar("progressbar_name")
//index
_progressbar(5)
//multiple attributes as JSON
_progressbar({name: "progressbar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_progressbar({name: "/progressbar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_progressbar("progressbar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_progressbar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_progressbar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValuerangeValue (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_progressbar("progressbar_name"));
_click(_progressbar("/Name/[1]", _rightOf(_image("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_progressbar("progressbar_id"));
// Check if element is visible
_assert(_isVisible(_progressbar("progressbar_id")));

_radio | _radiobutton | _wRadiobutton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _radio or _radiobutton or _wRadiobutton
API_radio(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th radio in the UI)
//name
_radio("radio_name")
//index
_radio(5)
//multiple attributes as JSON
_radio({name: "radio_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_radio({name: "/radio .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_radio("radio_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_radio(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_radio("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValueselectionItem (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_radio("radio_name"), null);
_setValue(_radio("/Name/[1]", _rightOf(_image("Name"))), null);
// Check irrespective of whether it was checked or unchecked
_check(_radio("radio_name"));
Assertions Example assertions:
// Check if element exists
_assertExists(_radio("radio_id"));
// Check if element is visible
_assert(_isVisible(_radio("radio_id")));

_scrollbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_scrollbar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th scrollbar in the UI)
//name
_scrollbar("scrollbar_name")
//index
_scrollbar(5)
//multiple attributes as JSON
_scrollbar({name: "scrollbar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_scrollbar({name: "/scrollbar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_scrollbar("scrollbar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_scrollbar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_scrollbar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValuerangeValue,value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_scrollbar("scrollbar_name"), null);
_setValue(_scrollbar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_scrollbar("scrollbar_id"));
// Check if element is visible
_assert(_isVisible(_scrollbar("scrollbar_id")));

_seperator

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_seperator(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th seperator in the UI)
//name
_seperator("seperator_name")
//index
_seperator(5)
//multiple attributes as JSON
_seperator({name: "seperator_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_seperator({name: "/seperator .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_seperator("seperator_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_seperator(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_seperator("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_seperator("seperator_name"), null);
_setValue(_seperator("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_seperator("seperator_id"));
// Check if element is visible
_assert(_isVisible(_seperator("seperator_id")));

_slider

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_slider(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th slider in the UI)
//name
_slider("slider_name")
//index
_slider(5)
//multiple attributes as JSON
_slider({name: "slider_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_slider({name: "/slider .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_slider("slider_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_slider(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_slider("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValuerangeValue,value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_slider("slider_name"), null);
_setValue(_slider("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_slider("slider_id"));
// Check if element is visible
_assert(_isVisible(_slider("slider_id")));

_spinner

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_spinner(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th spinner in the UI)
//name
_spinner("spinner_name")
//index
_spinner(5)
//multiple attributes as JSON
_spinner({name: "spinner_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_spinner({name: "/spinner .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_spinner("spinner_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_spinner(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_spinner("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValuerangeValue,selection (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_spinner("spinner_name"), null);
_setValue(_spinner("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_spinner("spinner_id"));
// Check if element is visible
_assert(_isVisible(_spinner("spinner_id")));

_splitbutton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_splitbutton(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th splitbutton in the UI)
//name
_splitbutton("splitbutton_name")
//index
_splitbutton(5)
//multiple attributes as JSON
_splitbutton({name: "splitbutton_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_splitbutton({name: "/splitbutton .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_splitbutton("splitbutton_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_splitbutton(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_splitbutton("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
ValueexpandCollapse (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_splitbutton("splitbutton_name"), null);
_setValue(_splitbutton("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_splitbutton("splitbutton_id"));
// Check if element is visible
_assert(_isVisible(_splitbutton("splitbutton_id")));

_statusbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_statusbar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th statusbar in the UI)
//name
_statusbar("statusbar_name")
//index
_statusbar(5)
//multiple attributes as JSON
_statusbar({name: "statusbar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_statusbar({name: "/statusbar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_statusbar("statusbar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_statusbar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_statusbar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_statusbar("statusbar_name"), null);
_setValue(_statusbar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_statusbar("statusbar_id"));
// Check if element is visible
_assert(_isVisible(_statusbar("statusbar_id")));

_tab

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_tab(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th tab in the UI)
//name
_tab("tab_name")
//index
_tab(5)
//multiple attributes as JSON
_tab({name: "tab_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_tab({name: "/tab .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_tab("tab_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_tab(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_tab("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_tab("tab_name"), null);
_setValue(_tab("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_tab("tab_id"));
// Check if element is visible
_assert(_isVisible(_tab("tab_id")));

_tabitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_tabitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th tabitem in the UI)
//name
_tabitem("tabitem_name")
//index
_tabitem(5)
//multiple attributes as JSON
_tabitem({name: "tabitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_tabitem({name: "/tabitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_tabitem("tabitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_tabitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_tabitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_tabitem("tabitem_name"), null);
_setValue(_tabitem("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_tabitem("tabitem_id"));
// Check if element is visible
_assert(_isVisible(_tabitem("tabitem_id")));

_table

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_table(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th table in the UI)
//name
_table("table_name")
//index
_table(5)
//multiple attributes as JSON
_table({name: "table_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_table({name: "/table .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_table("table_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_table(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_table("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuegrid,selection,table (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_table("table_name"), null);
_setValue(_table("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_table("table_id"));
// Check if element is visible
_assert(_isVisible(_table("table_id")));

_text

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_text(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th text in the UI)
//name
_text("text_name")
//index
_text(5)
//multiple attributes as JSON
_text({name: "text_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_text({name: "/text .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_text("text_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_text(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_text("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuevalue (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_text("text_name"), "apple");
_setValue(_text("/Name/[1]", _rightOf(_image("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_text("text_id"));
// Check if element is visible
_assert(_isVisible(_text("text_id")));
_assertEqual("apple", _getValue(_text("text_id")));

_thumb

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_thumb(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th thumb in the UI)
//name
_thumb("thumb_name")
//index
_thumb(5)
//multiple attributes as JSON
_thumb({name: "thumb_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_thumb({name: "/thumb .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_thumb("thumb_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_thumb(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_thumb("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_thumb("thumb_name"), null);
_setValue(_thumb("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_thumb("thumb_id"));
// Check if element is visible
_assert(_isVisible(_thumb("thumb_id")));

_titlebar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_titlebar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th titlebar in the UI)
//name
_titlebar("titlebar_name")
//index
_titlebar(5)
//multiple attributes as JSON
_titlebar({name: "titlebar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_titlebar({name: "/titlebar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_titlebar("titlebar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_titlebar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_titlebar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuetext,value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_titlebar("titlebar_name"), null);
_setValue(_titlebar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_titlebar("titlebar_id"));
// Check if element is visible
_assert(_isVisible(_titlebar("titlebar_id")));

_toolbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_toolbar(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th toolbar in the UI)
//name
_toolbar("toolbar_name")
//index
_toolbar(5)
//multiple attributes as JSON
_toolbar({name: "toolbar_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_toolbar({name: "/toolbar .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_toolbar("toolbar_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_toolbar(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_toolbar("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_toolbar("toolbar_name"), null);
_setValue(_toolbar("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_toolbar("toolbar_id"));
// Check if element is visible
_assert(_isVisible(_toolbar("toolbar_id")));

_tooltip

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_tooltip(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th tooltip in the UI)
//name
_tooltip("tooltip_name")
//index
_tooltip(5)
//multiple attributes as JSON
_tooltip({name: "tooltip_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_tooltip({name: "/tooltip .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_tooltip("tooltip_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_tooltip(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_tooltip("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_tooltip("tooltip_name"), null);
_setValue(_tooltip("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_tooltip("tooltip_id"));
// Check if element is visible
_assert(_isVisible(_tooltip("tooltip_id")));

_tree

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_tree(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th tree in the UI)
//name
_tree("tree_name")
//index
_tree(5)
//multiple attributes as JSON
_tree({name: "tree_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_tree({name: "/tree .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_tree("tree_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_tree(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_tree("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_tree("tree_name"), null);
_setValue(_tree("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_tree("tree_id"));
// Check if element is visible
_assert(_isVisible(_tree("tree_id")));

_treeitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_treeitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th treeitem in the UI)
//name
_treeitem("treeitem_name")
//index
_treeitem(5)
//multiple attributes as JSON
_treeitem({name: "treeitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_treeitem({name: "/treeitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_treeitem("treeitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_treeitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_treeitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_treeitem("treeitem_name"), null);
_setValue(_treeitem("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_treeitem("treeitem_id"));
// Check if element is visible
_assert(_isVisible(_treeitem("treeitem_id")));

_treeviewitem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_treeviewitem(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th treeviewitem in the UI)
//name
_treeviewitem("treeviewitem_name")
//index
_treeviewitem(5)
//multiple attributes as JSON
_treeviewitem({name: "treeviewitem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_treeviewitem({name: "/treeviewitem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_treeviewitem("treeviewitem_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_treeviewitem(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_treeviewitem("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_treeviewitem("treeviewitem_name"), null);
_setValue(_treeviewitem("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_treeviewitem("treeviewitem_id"));
// Check if element is visible
_assert(_isVisible(_treeviewitem("treeviewitem_id")));

_treeview

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_treeview(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th treeview in the UI)
//name
_treeview("treeview_name")
//index
_treeview(5)
//multiple attributes as JSON
_treeview({name: "treeview_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_treeview({name: "/treeview .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_treeview("treeview_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_treeview(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_treeview("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Value (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_treeview("treeview_name"), null);
_setValue(_treeview("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_treeview("treeview_id"));
// Check if element is visible
_assert(_isVisible(_treeview("treeview_id")));

_window

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.5.0

Note@note@
API_window(identifier [, relation1 [, relation2 ...]])
Identifiersname, automationId, helpText, index

Valid Accessors and alternatives: (Assume this is the 6th window in the UI)
//name
_window("window_name")
//index
_window(5)
//multiple attributes as JSON
_window({name: "window_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_window({name: "/window .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_window("window_name", _in(_group("Container")))

// index with 2 relational APIs, _rightOf and _under
_window(0, _rightOf(_image("Name")), _under(_combobox("Action")))

// with regular expression and relations
_window("/elname/", _rightOf(_image("Name")), _under(_combobox("Action")))
Valuewindow (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setValue

Example usage:
_setValue(_window("window_name"), null);
_setValue(_window("/Name/[1]", _rightOf(_image("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_window("window_id"));
// Check if element is visible
_assert(_isVisible(_window("window_id")));