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")
    Button.click(page, "Submit")

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.16

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.16
File Size Uploaded
robo_appian-0.1.16.tar.gz 40.1 kB Details

Built distribution (wheel)

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

Total release size: 95.2 kB

Release files / robo_appian-0.1.16.tar.gz

Download URL robo_appian-0.1.16.tar.gz
Size 40.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d0c1b3d387b39f6cd7885472740218a4c78f3b3046c2da0b468a616e414b3225
BLAKE2b-256 checksum
How to use checksums
4c8c32fc5b33b6980b0ce3d326b7476ce6cae163550789ce6ccc6f2c2d3c7e32
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.16-py3-none-any.whl

Download URL robo_appian-0.1.16-py3-none-any.whl
Size 55.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aee178c45eaac251fe69e2106d71971969ff863e280b738b837c975ed6e52672
BLAKE2b-256 checksum
How to use checksums
1da9640ba69ab14b46c41a1c59860f81880c55dace037c673026ba4a67694fc9
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