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.
- Repository: https://github.com/dinilmithra/robo-appian
- Issues: https://github.com/dinilmithra/robo-appian/issues
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)
| File | Size | Uploaded | |
|---|---|---|---|
| robo_appian-0.1.16.tar.gz | 40.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|