Sahi Documentation

Java Accessor APIs

Java Elements

_button | _jvJButton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _button or _jvJButton
API_button(identifier [, relation1 [, relation2 ...]])
IdentifiersText, Name, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th button in the UI)
//Text
_button("elementText")
//Name
_button("button_name")
//Label
_button("elementLabel")
//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("elementText", _in(_jvJPanel("Container")))

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

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

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

_button | _jvJToggleButton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _button or _jvJToggleButton
API_button(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th button in the UI)
//Name
_button("button_name")
//Text
_button("elementText")
//Label
_button("elementLabel")
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_button("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("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(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_button("button_id"));
// Check if element is visible
_assert(_isVisible(_button("button_id")));

_table | _jvJTable

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _table or _jvJTable
API_table(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, 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(_jvJPanel("Container")))

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

// with regular expression and relations
_table("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueValueAt (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

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

_jvJTableHeader

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJTableHeader(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJTableHeader(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJTableHeader("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvJTableHeader("JTableHeader_name"));
_click(_jvJTableHeader("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJTableHeader("JTableHeader_id"));
// Check if element is visible
_assert(_isVisible(_jvJTableHeader("JTableHeader_id")));

_menu | _jvJMenu

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _menu or _jvJMenu
API_menu(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th menu in the UI)
//Name
_menu("menu_name")
//Text
_menu("elementText")
//Label
_menu("elementLabel")
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_menu("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

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

_jvJMenuItem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJMenuItem(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvJMenuItem in the UI)
//Name
_jvJMenuItem("JMenuItem_name")
//Text
_jvJMenuItem("elementText")
//Label
_jvJMenuItem("elementLabel")
//Index
_jvJMenuItem(5)
//multiple attributes as JSON
_jvJMenuItem({name: "JMenuItem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJMenuItem({name: "/JMenuItem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJMenuItem("JMenuItem_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJMenuItem(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJMenuItem("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvJMenuItem("JMenuItem_name"));
_click(_jvJMenuItem("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJMenuItem("JMenuItem_id"));
// Check if element is visible
_assert(_isVisible(_jvJMenuItem("JMenuItem_id")));

_jvJPopupMenu

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJPopupMenu(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvJPopupMenu in the UI)
//Name
_jvJPopupMenu("JPopupMenu_name")
//Text
_jvJPopupMenu("elementText")
//Label
_jvJPopupMenu("elementLabel")
//Index
_jvJPopupMenu(5)
//multiple attributes as JSON
_jvJPopupMenu({name: "JPopupMenu_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJPopupMenu({name: "/JPopupMenu .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJPopupMenu("JPopupMenu_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJPopupMenu(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJPopupMenu("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvJPopupMenu("JPopupMenu_name"));
_click(_jvJPopupMenu("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJPopupMenu("JPopupMenu_id"));
// Check if element is visible
_assert(_isVisible(_jvJPopupMenu("JPopupMenu_id")));

_jvJCheckBoxMenuItem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJCheckBoxMenuItem(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvJCheckBoxMenuItem in the UI)
//Name
_jvJCheckBoxMenuItem("JCheckBoxMenuItem_name")
//Text
_jvJCheckBoxMenuItem("elementText")
//Label
_jvJCheckBoxMenuItem("elementLabel")
//Index
_jvJCheckBoxMenuItem(5)
//multiple attributes as JSON
_jvJCheckBoxMenuItem({name: "JCheckBoxMenuItem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJCheckBoxMenuItem({name: "/JCheckBoxMenuItem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJCheckBoxMenuItem("JCheckBoxMenuItem_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJCheckBoxMenuItem(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJCheckBoxMenuItem("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueisSelected (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvJCheckBoxMenuItem("JCheckBoxMenuItem_name"));
_click(_jvJCheckBoxMenuItem("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJCheckBoxMenuItem("JCheckBoxMenuItem_id"));
// Check if element is visible
_assert(_isVisible(_jvJCheckBoxMenuItem("JCheckBoxMenuItem_id")));

_jvJRadioButtonMenuItem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJRadioButtonMenuItem(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvJRadioButtonMenuItem in the UI)
//Name
_jvJRadioButtonMenuItem("JRadioButtonMenuItem_name")
//Text
_jvJRadioButtonMenuItem("elementText")
//Label
_jvJRadioButtonMenuItem("elementLabel")
//Index
_jvJRadioButtonMenuItem(5)
//multiple attributes as JSON
_jvJRadioButtonMenuItem({name: "JRadioButtonMenuItem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJRadioButtonMenuItem({name: "/JRadioButtonMenuItem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJRadioButtonMenuItem("JRadioButtonMenuItem_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJRadioButtonMenuItem(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJRadioButtonMenuItem("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueisSelected (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvJRadioButtonMenuItem("JRadioButtonMenuItem_name"));
_click(_jvJRadioButtonMenuItem("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJRadioButtonMenuItem("JRadioButtonMenuItem_id"));
// Check if element is visible
_assert(_isVisible(_jvJRadioButtonMenuItem("JRadioButtonMenuItem_id")));

_checkbox | _jvJCheckBox

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _checkbox or _jvJCheckBox
API_checkbox(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th checkbox in the UI)
//Name
_checkbox("checkbox_name")
//Text
_checkbox("elementText")
//Label
_checkbox("elementLabel")
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_checkbox("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelected (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_checkbox("checkbox_name"));
_click(_checkbox("/Name/[1]", _rightOf(_jvJLabel("Name"))));
// 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")));

_radio | _jvJRadioButton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _radio or _jvJRadioButton
API_radio(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, Label, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th radio in the UI)
//Name
_radio("radio_name")
//Text
_radio("elementText")
//Label
_radio("elementLabel")
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_radio("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelected (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_radio("radio_name"));
_click(_radio("/Name/[1]", _rightOf(_jvJLabel("Name"))));
// 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")));

_textbox | _jvJTextField

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _textbox or _jvJTextField
API_textbox(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th textbox in the UI)
//Name
_textbox("textbox_name")
//Index
_textbox(5)
//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(_jvJPanel("Container")))

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

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

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

_textarea | _jvJTextArea

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _textarea or _jvJTextArea
API_textarea(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_textarea(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_textarea("textarea_name"), "elementText");
_setValue(_textarea("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_textarea("textarea_id"));
// Check if element is visible
_assert(_isVisible(_textarea("textarea_id")));

_jvJTextPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJTextPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJTextPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_jvJTextPane("JTextPane_name"), "elementText");
_setValue(_jvJTextPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJTextPane("JTextPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJTextPane("JTextPane_id")));

_jvJEditorPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJEditorPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJEditorPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_jvJEditorPane("JEditorPane_name"), "elementText");
_setValue(_jvJEditorPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJEditorPane("JEditorPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJEditorPane("JEditorPane_id")));

_password | _jvJPasswordField

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _password or _jvJPasswordField
API_password(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_password(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_password("password_name"), "elementText");
_setValue(_password("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_password("password_id"));
// Check if element is visible
_assert(_isVisible(_password("password_id")));

_jvJComboBox

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJComboBox(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJComboBox(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvJComboBox("JComboBox_name"), null);
_setSelected(_jvJComboBox("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJComboBox("JComboBox_id"));
// Check if element is visible
_assert(_isVisible(_jvJComboBox("JComboBox_id")));

_jvJTabbedPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJTabbedPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJTabbedPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvJTabbedPane("JTabbedPane_name"), null);
_setSelected(_jvJTabbedPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJTabbedPane("JTabbedPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJTabbedPane("JTabbedPane_id")));

_jvJList

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJList(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJList(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvJList("JList_name"), null);
_setSelected(_jvJList("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJList("JList_id"));
// Check if element is visible
_assert(_isVisible(_jvJList("JList_id")));

_jvChoice

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvChoice(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvChoice(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvChoice("Choice_name"), null);
_setSelected(_jvChoice("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvChoice("Choice_id"));
// Check if element is visible
_assert(_isVisible(_jvChoice("Choice_id")));

_jvList

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvList(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvList(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvList("List_name"), null);
_setSelected(_jvList("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvList("List_id"));
// Check if element is visible
_assert(_isVisible(_jvList("List_id")));

_label | _jvJLabel

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _label or _jvJLabel
API_label(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_label(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_label("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_label("label_name"));
_click(_label("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_label("label_id"));
// Check if element is visible
_assert(_isVisible(_label("label_id")));

_jvJPanel

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJPanel(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Index, Label

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

// index with 2 relational APIs, _rightOf and _under
_jvJPanel(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvJPanel("JPanel_name"), null);
_setSelected(_jvJPanel("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJPanel("JPanel_id"));
// Check if element is visible
_assert(_isVisible(_jvJPanel("JPanel_id")));

_jvJSlider

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJSlider(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJSlider(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_jvJSlider("JSlider_name"), "apple");
_setValue(_jvJSlider("/Name/[1]", _rightOf(_jvJLabel("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJSlider("JSlider_id"));
// Check if element is visible
_assert(_isVisible(_jvJSlider("JSlider_id")));

_jvScrollbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvScrollbar(identifier [, relation1 [, relation2 ...]])
IdentifiersToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvScrollbar in the UI)
//Index
_jvScrollbar(5)
//multiple attributes as JSON
_jvScrollbar({ToolTipText: "Scrollbar_ToolTipText", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvScrollbar({ToolTipText: "/Scrollbar .*ToolTipText/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvScrollbar(, _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvScrollbar(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_jvScrollbar(), "apple");
_setValue(_jvScrollbar("/Name/[1]", _rightOf(_jvJLabel("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_jvScrollbar("Scrollbar_id"));
// Check if element is visible
_assert(_isVisible(_jvScrollbar("Scrollbar_id")));

_jvScrollbar | _jvJScrollbar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA9.0.0

NoteYou may use either _jvScrollbar or _jvJScrollbar
API_jvScrollbar(identifier [, relation1 [, relation2 ...]])
IdentifiersToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvScrollbar in the UI)
//Index
_jvScrollbar(5)
//multiple attributes as JSON
_jvScrollbar({ToolTipText: "Scrollbar_ToolTipText", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvScrollbar({ToolTipText: "/Scrollbar .*ToolTipText/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvScrollbar(, _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvScrollbar(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setValue(_jvScrollbar(), "apple");
_setValue(_jvScrollbar("/Name/[1]", _rightOf(_jvJLabel("Name"))), "apple");
Assertions Example assertions:
// Check if element exists
_assertExists(_jvScrollbar("Scrollbar_id"));
// Check if element is visible
_assert(_isVisible(_jvScrollbar("Scrollbar_id")));

_button | _jvButton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _button or _jvButton
API_button(identifier [, relation1 [, relation2 ...]])
IdentifiersLabel, Name, Text, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th button in the UI)
//Label
_button("elementLabel")
//Name
_button("button_name")
//Text
_button("elementText")
//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("elementLabel", _in(_jvJPanel("Container")))

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

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

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

_textbox | _jvTextField

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _textbox or _jvTextField
API_textbox(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Index

Valid Accessors and alternatives: (Assume this is the 6th textbox in the UI)
//Name
_textbox("textbox_name")
//Index
_textbox(5)
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_textbox("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _Value

Example usage:
_Value(_textbox("textbox_name"), "elementText");
_Value(_textbox("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_textbox("textbox_id"));
// Check if element is visible
_assert(_isVisible(_textbox("textbox_id")));

_textarea | _jvTextArea

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _textarea or _jvTextArea
API_textarea(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Index

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

// index with 2 relational APIs, _rightOf and _under
_textarea(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_textarea("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _Value

Example usage:
_Value(_textarea("textarea_name"), "elementText");
_Value(_textarea("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_textarea("textarea_id"));
// Check if element is visible
_assert(_isVisible(_textarea("textarea_id")));

_checkbox | _jvCheckbox

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _checkbox or _jvCheckbox
API_checkbox(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Label, Index

Valid Accessors and alternatives: (Assume this is the 6th checkbox in the UI)
//Name
_checkbox("checkbox_name")
//Label
_checkbox("elementLabel")
//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(_jvJPanel("Container")))

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

// with regular expression and relations
_checkbox("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueState (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_checkbox("checkbox_name"));
_click(_checkbox("/Name/[1]", _rightOf(_jvJLabel("Name"))));
// 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")));

_label | _jvLabel

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _label or _jvLabel
API_label(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_label(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_label("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setText

Example usage:
_setText(_label("label_name"), "elementText");
_setText(_label("/Name/[1]", _rightOf(_jvJLabel("Name"))), "elementText");
Assertions Example assertions:
// Check if element exists
_assertExists(_label("label_id"));
// Check if element is visible
_assert(_isVisible(_label("label_id")));

_jvJRootPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJRootPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJRootPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJRootPane("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJRootPane("JRootPane_name"), null);
_setSelected(_jvJRootPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJRootPane("JRootPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJRootPane("JRootPane_id")));

_jvJLayeredPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJLayeredPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJLayeredPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJLayeredPane("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJLayeredPane("JLayeredPane_name"), null);
_setSelected(_jvJLayeredPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJLayeredPane("JLayeredPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJLayeredPane("JLayeredPane_id")));

_jvJScrollPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJScrollPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJScrollPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJScrollPane("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJScrollPane("JScrollPane_name"), null);
_setSelected(_jvJScrollPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJScrollPane("JScrollPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJScrollPane("JScrollPane_id")));

_jvJOptionPane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJOptionPane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJOptionPane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJOptionPane("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJOptionPane("JOptionPane_name"), null);
_setSelected(_jvJOptionPane("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJOptionPane("JOptionPane_id"));
// Check if element is visible
_assert(_isVisible(_jvJOptionPane("JOptionPane_id")));

_jvJDialog

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJDialog(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJDialog(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJDialog("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJDialog("JDialog_name"), null);
_setSelected(_jvJDialog("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJDialog("JDialog_id"));
// Check if element is visible
_assert(_isVisible(_jvJDialog("JDialog_id")));

_jvJComponent

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJComponent(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJComponent(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJComponent("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJComponent("JComponent_name"), null);
_setSelected(_jvJComponent("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJComponent("JComponent_id"));
// Check if element is visible
_assert(_isVisible(_jvJComponent("JComponent_id")));

_jvJToolBar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJToolBar(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvJToolBar(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJToolBar("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueSelectedIndex (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvJToolBar("JToolBar_name"), null);
_setSelected(_jvJToolBar("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJToolBar("JToolBar_id"));
// Check if element is visible
_assert(_isVisible(_jvJToolBar("JToolBar_id")));

_tree | _jvJTree

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

NoteYou may use either _tree or _jvJTree
API_tree(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, 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(_jvJPanel("Container")))

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

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

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

_jvSynthInternalFrameTitlePane

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvSynthInternalFrameTitlePane(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvSynthInternalFrameTitlePane in the UI)
//Name
_jvSynthInternalFrameTitlePane("SynthInternalFrameTitlePane_name")
//Text
_jvSynthInternalFrameTitlePane("elementText")
//Index
_jvSynthInternalFrameTitlePane(5)
//multiple attributes as JSON
_jvSynthInternalFrameTitlePane({name: "SynthInternalFrameTitlePane_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvSynthInternalFrameTitlePane({name: "/SynthInternalFrameTitlePane .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvSynthInternalFrameTitlePane("SynthInternalFrameTitlePane_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvSynthInternalFrameTitlePane(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvSynthInternalFrameTitlePane("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
Valueframe:field.getTitle() (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvSynthInternalFrameTitlePane("SynthInternalFrameTitlePane_name"));
_click(_jvSynthInternalFrameTitlePane("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvSynthInternalFrameTitlePane("SynthInternalFrameTitlePane_id"));
// Check if element is visible
_assert(_isVisible(_jvSynthInternalFrameTitlePane("SynthInternalFrameTitlePane_id")));

_jvJProgressBar

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJProgressBar(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, String

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

// index with 2 relational APIs, _rightOf and _under
_jvJProgressBar(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvJProgressBar("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValuegetValue (this is the default attribute used in assertions etc.)
Actions Default event recorded is

Example usage:
_click(_jvJProgressBar("JProgressBar_name"));
_click(_jvJProgressBar("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJProgressBar("JProgressBar_id"));
// Check if element is visible
_assert(_isVisible(_jvJProgressBar("JProgressBar_id")));

_jvTabDisplayer

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

Note@note@
API_jvTabDisplayer(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvTabDisplayer(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvTabDisplayer("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValuegetSelectionModel().getSelectedIndex() (this is the default attribute used in assertions etc.)
Actions Default event recorded is _setSelected

Example usage:
_setSelected(_jvTabDisplayer("TabDisplayer_name"), null);
_setSelected(_jvTabDisplayer("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvTabDisplayer("TabDisplayer_id"));
// Check if element is visible
_assert(_isVisible(_jvTabDisplayer("TabDisplayer_id")));

_jvAutoHideContainer

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

Note@note@
API_jvAutoHideContainer(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Index

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

// index with 2 relational APIs, _rightOf and _under
_jvAutoHideContainer(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_setSelected(_jvAutoHideContainer("AutoHideContainer_name"), null);
_setSelected(_jvAutoHideContainer("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvAutoHideContainer("AutoHideContainer_id"));
// Check if element is visible
_assert(_isVisible(_jvAutoHideContainer("AutoHideContainer_id")));

_jvImageIcon

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

Note@note@
API_jvImageIcon(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Text, Label, Index

Valid Accessors and alternatives: (Assume this is the 6th jvImageIcon in the UI)
//Name
_jvImageIcon("ImageIcon_name")
//Text
_jvImageIcon("elementText")
//Label
_jvImageIcon("elementLabel")
//Index
_jvImageIcon(5)
//multiple attributes as JSON
_jvImageIcon({name: "ImageIcon_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvImageIcon({name: "/ImageIcon .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvImageIcon("ImageIcon_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvImageIcon(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvImageIcon("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValuetoString() (this is the default attribute used in assertions etc.)
Actions Default event recorded is _

Example usage:
_(_jvImageIcon("ImageIcon_name"), null);
_(_jvImageIcon("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvImageIcon("ImageIcon_id"));
// Check if element is visible
_assert(_isVisible(_jvImageIcon("ImageIcon_id")));

_button | _jvCustomButton

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

NoteYou may use either _button or _jvCustomButton
API_button(identifier [, relation1 [, relation2 ...]])
Identifiers_sahi.customButtonValue(), Text, Name, Label, Index

Valid Accessors and alternatives: (Assume this is the 6th button in the UI)
//Text
_button("elementText")
//Name
_button("button_name")
//Label
_button("elementLabel")
//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(, _in(_jvJPanel("Container")))

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

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

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

_jvCanvas

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA10.0.0

Note@note@
API_jvCanvas(identifier [, relation1 [, relation2 ...]])
IdentifiersName, Text, ToolTipText, Index

Valid Accessors and alternatives: (Assume this is the 6th jvCanvas in the UI)
//Name
_jvCanvas("Canvas_name")
//Text
_jvCanvas("elementText")
//Index
_jvCanvas(5)
//multiple attributes as JSON
_jvCanvas({name: "Canvas_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvCanvas({name: "/Canvas .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvCanvas("Canvas_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvCanvas(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvCanvas("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValueText (this is the default attribute used in assertions etc.)
Actions Default event recorded is _click

Example usage:
_click(_jvCanvas("Canvas_name"));
_click(_jvCanvas("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvCanvas("Canvas_id"));
// Check if element is visible
_assert(_isVisible(_jvCanvas("Canvas_id")));

_jvCell

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvCell(identifier [, relation1 [, relation2 ...]])
Identifiers Valid Accessors and alternatives: (Assume this is the 6th jvCell in the UI)
//multiple attributes as JSON
_jvCell({name: "Cell_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvCell({name: "/Cell .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvCell(, _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvCell(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_click(_jvCell());
_click(_jvCell("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvCell("Cell_id"));
// Check if element is visible
_assert(_isVisible(_jvCell("Cell_id")));

_jvJListItem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJListItem(identifier [, relation1 [, relation2 ...]])
Identifiers Valid Accessors and alternatives: (Assume this is the 6th jvJListItem in the UI)
//multiple attributes as JSON
_jvJListItem({name: "JListItem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJListItem({name: "/JListItem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJListItem(, _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJListItem(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_click(_jvJListItem());
_click(_jvJListItem("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJListItem("JListItem_id"));
// Check if element is visible
_assert(_isVisible(_jvJListItem("JListItem_id")));

_jvJTreeItem

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA7.0.0

Note@note@
API_jvJTreeItem(identifier [, relation1 [, relation2 ...]])
Identifiers Valid Accessors and alternatives: (Assume this is the 6th jvJTreeItem in the UI)
//multiple attributes as JSON
_jvJTreeItem({name: "JTreeItem_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvJTreeItem({name: "/JTreeItem .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvJTreeItem(, _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvJTreeItem(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

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

Example usage:
_click(_jvJTreeItem());
_click(_jvJTreeItem("/Name/[1]", _rightOf(_jvJLabel("Name"))));
Assertions Example assertions:
// Check if element exists
_assertExists(_jvJTreeItem("JTreeItem_id"));
// Check if element is visible
_assert(_isVisible(_jvJTreeItem("JTreeItem_id")));

_jvDiamondIcon

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

Note@note@
API_jvDiamondIcon(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Text, Label, Index

Valid Accessors and alternatives: (Assume this is the 6th jvDiamondIcon in the UI)
//Name
_jvDiamondIcon("DiamondIcon_name")
//Text
_jvDiamondIcon("elementText")
//Label
_jvDiamondIcon("elementLabel")
//Index
_jvDiamondIcon(5)
//multiple attributes as JSON
_jvDiamondIcon({name: "DiamondIcon_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvDiamondIcon({name: "/DiamondIcon .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvDiamondIcon("DiamondIcon_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvDiamondIcon(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvDiamondIcon("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValuegetValue() (this is the default attribute used in assertions etc.)
Actions Default event recorded is _

Example usage:
_(_jvDiamondIcon("DiamondIcon_name"), null);
_(_jvDiamondIcon("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvDiamondIcon("DiamondIcon_id"));
// Check if element is visible
_assert(_isVisible(_jvDiamondIcon("DiamondIcon_id")));

_jvCustomIcon

Sahi ProSahi OSSahi Pro StarterDesktop Add-On
NANANA8.0.0

Note@note@
API_jvCustomIcon(identifier [, relation1 [, relation2 ...]])
IdentifiersName, ToolTipText, Text, Label, Index

Valid Accessors and alternatives: (Assume this is the 6th jvCustomIcon in the UI)
//Name
_jvCustomIcon("CustomIcon_name")
//Text
_jvCustomIcon("elementText")
//Label
_jvCustomIcon("elementLabel")
//Index
_jvCustomIcon(5)
//multiple attributes as JSON
_jvCustomIcon({name: "CustomIcon_name", sahiIndex: 1})
//multiple attributes as JSON including regular expression
_jvCustomIcon({name: "/CustomIcon .*name/", sahiIndex: 1})
Relations Relational APIs _in, _near, _leftOf, _rightOf, _under, _above can be used. Relations Sample
// with _in
_jvCustomIcon("CustomIcon_name", _in(_jvJPanel("Container")))

// index with 2 relational APIs, _rightOf and _under
_jvCustomIcon(0, _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))

// with regular expression and relations
_jvCustomIcon("/elname/", _rightOf(_jvJButton("Name")), _under(_jvJLabel("Action")))
ValuetoString() (this is the default attribute used in assertions etc.)
Actions Default event recorded is _

Example usage:
_(_jvCustomIcon("CustomIcon_name"), null);
_(_jvCustomIcon("/Name/[1]", _rightOf(_jvJLabel("Name"))), null);
Assertions Example assertions:
// Check if element exists
_assertExists(_jvCustomIcon("CustomIcon_id"));
// Check if element is visible
_assert(_isVisible(_jvCustomIcon("CustomIcon_id")));