robo-appian
robo-appian (robo appian / robo_appian) by Dinil Mithra makes Appian pages easier to automate with readable Python. It is a Python automation and testing library for Appian applications.
It is designed for people who know their web application and only need basic Python to start writing automation.
Quick example
from robo_appian import AppianPage
def test_update_item(page: AppianPage) -> None:
page.textbox(label="Description").fill("Example item")
page.date(label="Start Date").fill("10/15/2026")
page.radio(label="Priority").select("High")
page.button(name="Submit").click()
The goal is to describe the page using the same text a user sees.
Install
pip install robo-appian
robo-appian install-browser firefox
Python 3.12 is required. robo-appian uses robo-automation for generic browser and pytest infrastructure.
Common controls
page.textbox(label="Description").fill("Example item")
page.textbox(placeholder="example@example.com").fill("user@example.com")
page.textbox("Employee").select(search_text="John", value="John Smith")
page.date(label="Start Date").fill("10/15/2026")
page.radio(label="Priority").select("High")
page.button(name="Next").click()
Textboxes, dates, and selection components automatically move focus out after a value changes so Appian can process it.
What belongs where?
Your application tests
↓
robo-appian Appian controls and Appian behavior
↓
robo-automation Browser and pytest infrastructure
↓
Playwright
Your application project should own application URLs, login policy, business workflows, assertions, and test data.
Documentation
Start with the beginner guides:
- Installation
- Quick Start
- Your First Test
- Choosing a Component
- Troubleshooting
Advanced architecture and pytest integration are documented separately for framework maintainers.
Full documentation:
https://dinilmithra.github.io/robo-appian/
License
robo-appian is licensed under the MIT License.
Error handling
Appian-specific library failures use RoboAppianError, which is also a RoboAutomationError. Normal tests should usually let pytest report these errors. If you need recovery or diagnostic handling, see How to use RoboAppianError for examples using code, details, to_dict(), and exception chaining.
Runtime boundary for application projects
Application projects should normally import automation APIs only from
robo_appian.
from robo_appian import AppianPage, AppianRuntime, RoboAppianError
AppianRuntime provides the Appian-facing browser/session lifecycle used by
advanced consumer fixtures. It intentionally hides lower browser and
performance implementation classes. Normal test authors usually only need the
page fixture and component APIs shown above.
Metadata
Release files for robo-appian 0.1.29
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.29.tar.gz | 44.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robo_appian-0.1.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 109.4 kB
Release files / robo_appian-0.1.29.tar.gz
| Download URL | robo_appian-0.1.29.tar.gz |
|---|---|
| Size | 44.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5886d0d47d8a72581f93cdc3952d5cde79d5cc7186d0082ce3a2979c327f178
|
|
BLAKE2b-256 checksum How to use checksums |
9246ff29cb2a0fbcfd64cf897ff497e194be630f828f7b95125730cb7db44996
|
| 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.29-py3-none-any.whl
| Download URL | robo_appian-0.1.29-py3-none-any.whl |
|---|---|
| Size | 64.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6d8e3da7e9acf04d3683b5eb4af11c01775a166e0ed1eb253a96fd2331b54cd
|
|
BLAKE2b-256 checksum How to use checksums |
555a320417f5d3a2780918f8b71352a23bed9e8716635d12025d9a3e143e97b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.12.0 Windows/11
|