robo-appian
robo-appian is a Python automation framework for Appian built on Playwright. It owns the browser/runtime wrapper layer and provides reusable Appian interaction components so consuming projects can focus on application workflows, data, and assertions.
Architecture
Consumer pytest project
↓
RoboBrowser → RoboContext → RoboPage → RoboLocator
↓
Reusable Appian components
↓
Playwright implementation
↓
Appian
The public framework wrappers are:
from robo_appian import RoboBrowser, RoboContext, RoboPage, RoboLocator
With the pytest plugin enabled, tests normally receive RoboPage directly:
pytest_plugins = ("robo_appian.pytest_plugin",)
from robo_appian import RoboPage
def test_example(page: RoboPage) -> None:
user_options = page.get_by_attributes(
attributes={
"role": "button",
"aria-label": "User options",
}
)
user_options.to_be_visible()
user_options.click()
Install
pip install robo-appian
Python 3.12 is required. Playwright is installed automatically as a robo-appian dependency.
Install all Playwright-managed browser binaries:
robo-appian install-browser
or one engine:
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
Existing reusable components such as Button, InputText, Dropdown, and Table still expose the internal Scope = Playwright Page | Locator compatibility boundary in many generated signatures. New browser lifecycle/resource ownership should use the Robo* wrappers; Scope remains documented because it is still part of the current component implementation.
Documentation
Full documentation, guides, framework reference, 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.15
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.15.tar.gz | 45.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robo_appian-0.1.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.1 kB
Release files / robo_appian-0.1.15.tar.gz
| Download URL | robo_appian-0.1.15.tar.gz |
|---|---|
| Size | 45.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad159f3ccdfda13be5d6f7fea6d1a756bbac37e1c95e3eceb47ffbe964765a4b
|
|
BLAKE2b-256 checksum How to use checksums |
3764a8d44232d548999bcba644a916c3bc78b22e8f3f852af14734de678d1ea9
|
| 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.15-py3-none-any.whl
| Download URL | robo_appian-0.1.15-py3-none-any.whl |
|---|---|
| Size | 62.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cfa1db3246688b0f660e5e449345ecb76f1c588cc919981c1d28fd2f2d66207d
|
|
BLAKE2b-256 checksum How to use checksums |
8a02fe5dc64b476d64bea353c488f44652460c104981a107b95aa03961c523e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.12.0 Windows/11
|