Skip to main content

robo-appian

robo-appian provides reusable Appian-specific UI components and interaction utilities. Generic Playwright resource ownership, wrappers, and pytest fixtures live in robo-automation.

Architecture

Consumer / CORE application code
        ↓
robo-appian AppianPage / AppianLocator / components
        ↓
robo-automation generic wrappers
Browser → RoboBrowserContext → RoboPage → RoboLocator
        ↓
Playwright
        ↓
Appian

For Appian consumers, robo-appian provides AppianPage(RoboPage) and AppianLocator(RoboLocator). Both robo-automation and robo-appian are pytest plugins discovered through installed pytest11 entry points. The fixture layering is automatic:

robo-automation: robo_page -> RoboPage
                         ↓
robo-appian:     appian_page -> AppianPage
                         ↓
                 page -> AppianPage

No consumer wrapper-selector fixture is required. A normal Appian test simply requests page:

from robo_appian import AppianPage, Button, InputText


def test_example(page: AppianPage) -> None:
    InputText.fill_by_label(page, "Request Name", "Example Request")
    page.button(name="Submit").click()

A consuming application such as CORE may override only the public page fixture to add application-specific navigation/login while depending on appian_page; the underlying Playwright page is still created and closed by robo-automation.

Install

pip install robo-appian

Python 3.12 is required. The package depends on robo-automation and currently also declares Playwright/pytest directly because its Appian implementation and development tooling use those APIs.

Install Playwright-managed browser binaries with the robo-appian CLI:

robo-appian install-browser
robo-appian install-browser firefox
robo-appian install-browser chromium
robo-appian install-browser webkit

robo-appian install-browser all is equivalent to the no-argument full install. The command uses the current Python interpreter (sys.executable -m playwright install ...) and is platform independent.

Component APIs and Scope

Reusable components such as Button, InputText, Dropdown, and Table expose Appian-specific interaction behavior. Many current component signatures still use the generic Scope = Playwright Page | Locator compatibility/search-boundary type from robo-automation.

Generic lifecycle/resource code should use RoboBrowserContext, RoboPage, and RoboLocator from robo_automation; those types are not owned or exported by robo_appian.

Documentation

Full documentation and component API reference:

https://dinilmithra.github.io/robo-appian/

Developer

Dinil Mithra — developer and maintainer of robo-appian.

License

robo-appian is licensed under the MIT License. Copyright (c) 2026 Dinil Mithra.

Metadata

Release files for robo-appian 0.1.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robo-appian 0.1.17
File Size Uploaded
robo_appian-0.1.17.tar.gz 41.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robo-appian 0.1.17
File Interpreter ABI Platform
robo_appian-0.1.17-py3-none-any.whl Python 3 none any Details

Total release size: 99.3 kB

Release files / robo_appian-0.1.17.tar.gz

Download URL robo_appian-0.1.17.tar.gz
Size 41.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2e2314f663f79c1bbb065c0047bbdf408abd67dccce8cea1b449401306759a0e
BLAKE2b-256 checksum
How to use checksums
c836972a8fb1821195f61fb1534e595766db725ea2fac701b03d0538a80b6a8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.0 Windows/11

Release files / robo_appian-0.1.17-py3-none-any.whl

Download URL robo_appian-0.1.17-py3-none-any.whl
Size 58.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
92a497e5408d65f42d9f5e221a7483bdd3cd9f0b7d252bc85ca214e148496b80
BLAKE2b-256 checksum
How to use checksums
fd19c4f7fe12384681346a286f5c4a23c0dcf7e985e49333a1ca293ffb616c39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.0 Windows/11
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page