API Reference¶
Complete reference for all robo_appian utilities and components. All methods follow the wait-first pattern: pass WebDriverWait as the first argument.
Component Utilities¶
Located under robo_appian.components, these utilities handle interaction with specific Appian UI elements:
- Buttons - Click buttons and action links by label
- Inputs - Fill text inputs by label or placeholder
- Dates - Set date values in date pickers
- Dropdowns - Select from standard dropdowns
- Search Dropdowns - Select from filterable dropdowns
- Search Inputs - Interact with searchable input fields
- Tables - Find rows, click cells, read table data
- Tabs - Switch between tab panels
- Links - Click links by visible text
- Labels - Find and verify label text
Shared Utilities¶
Located under robo_appian.utils, these provide low-level helpers:
- ComponentUtils - Element waiting, safe clicking, XPath queries
- RoboUtils - Retry logic, resilience helpers
- BrowserUtils - Multi-tab/window management
Quick Examples¶
Set form values¶
from robo_appian.components import InputUtils, DateUtils, DropdownUtils
InputUtils.setValueByLabelText(wait, "Name", "John Doe")
DateUtils.setValueByLabelText(wait, "Start Date", "01/15/2025")
DropdownUtils.selectDropdownValueByLabelText(wait, "Status", "Active")
Interact with tables¶
from robo_appian.components import TableUtils, ButtonUtils
table = TableUtils.findTableByColumnName(wait, "ID")
TableUtils.selectRowFromTableByColumnNameAndRowNumber(wait, 0, "ID")
button = TableUtils.findComponentFromTableCell(wait, 0, "Actions")
ButtonUtils.clickByLabelText(wait, "Edit")
Handle retries¶
from robo_appian.utils.RoboUtils import RoboUtils
from robo_appian.components import ButtonUtils
RoboUtils.retry_on_timeout(
lambda: ButtonUtils.clickByLabelText(wait, "Submit"),
max_retries=3,
operation_name="click submit"
)
See the Components guide for detailed usage patterns and best practices.