Skip to content

Appian Input Components

Input components represent fields where a user can enter, select, or change information in an Appian application.

Common input components include:

Component Use it for
Textbox Entering text or numbers
Date Entering a date
Dropdown Choosing one value from a list
Checkbox Turning an option on or off
Radio Choosing one value from a small set of choices

Most tests use the specific component directly:

page.textbox(label="Description").fill("Example description")
page.dropdown(label="Status").select(value="Active")
page.checkbox(label="Include Details").check()

Finding a field

By default, component matching is exact and targets visible fields:

page.textbox(label="Description")

Use exact=False when a partial label is intentional:

page.textbox(label="Description", exact=False)

Use visible=None when both visible and hidden matches should be considered:

page.textbox(label="Description", visible=None)

Checking whether a field is ready

is_enabled() checks the current state immediately:

field = page.dropdown(label="Owner")

if field.is_enabled():
    field.select(value="Example User")

Some Appian fields become available only after another field changes. Supply a timeout when the test should wait for that field to become enabled:

page.dropdown(label="Status").select(value="Active")

owner = page.dropdown(label="Owner")
if owner.is_enabled(timeout=8):
    owner.select(value="Example User")

timeout is measured in seconds. is_enabled() without a timeout does not wait.

API

AppianInputComponent

Base class for Appian components that change input state.

The base owns only the common post-change lifecycle. Component-specific locator resolution and interaction semantics remain in each subclass.

Focus-out after changes

Input components that change a value perform the framework's focus-out behavior and then wait for Appian action processing to complete so dependent updates are ready before the next interaction. Tests should not add a Tab keystroke or a duplicate completion wait after the input operation.