Choosing a Component
Start with what the user sees on the page.
| I need to... | Use |
|---|---|
| Enter text or select a searchable text suggestion | page.textbox(...) |
| Enter a date | page.date(...) |
| Check or uncheck a checkbox | page.checkbox(...).check() / .uncheck() |
| Choose a radio option | page.radio(...).select(...) |
| Click a button | page.button(...).click() |
| Choose a standard dropdown value | AppianDropdown |
| Search in a searchable dropdown | AppianDropdown with search_text |
| Click an Appian link | AppianLink via page.link(...) |
| Select an Appian tab | AppianTab via page.tab(...) |
| Work with a table/grid | AppianGrid |
| Click a link | AppianLink |
Textbox
By label:
By placeholder:
Some Appian forms introduce a textbox with nearby heading text instead of a normal field label:
A searchable text field is still a textbox in the public API. Enter search text and select a suggestion by value or by 1-based suggestion index:
page.textbox("Employee").fill("John").select("John Smith")
page.textbox("Employee").fill("John").select(index=2)
The same flow can be written in one call, including for a field identified only by placeholder:
page.textbox("Employee").select(search_text="John", value="John Smith")
page.textbox(placeholder="Start typing...").select(
search_text="Example",
index=1,
)
Date
Use page.date(...) for an Appian date field. Do not use a normal textbox just because the HTML input type is text.
Checkbox
page.checkbox(...) returns an AppianCheckbox.
Use uncheck() to clear it and is_checked() to read the state. Both check() and uncheck() are idempotent.
Radio choice / selection
page.radio(...) returns an AppianRadioSelect.
Use the complete question text when possible. This keeps choices such as Yes or No scoped to the correct question.
You can inspect the current state without changing focus:
Appian tab
page.link(name=...) returns an AppianLink for native anchors and Appian linked-card controls.
page.tab(name=...) returns an AppianTab.
select() is idempotent. is_selected() reports the current accessibility state without waiting for an unselected tab to change state.
Button
Automatic focus-out
After a textbox, date, or selection value actually changes, robo-appian moves focus out automatically and waits for Appian action processing to complete before returning.
You normally should not add a Tab press, manual blur, or duplicate wait_for_appian_action_completed() call after the input operation.
Advanced locators
If none of the component APIs describe the control, use AppianPage/AppianLocator or a component-specific advanced API. See the API Reference after trying the simple component approach first.