Skip to content

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:

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.