RoboTest Studio
Low-code/no-code test automation studio for recording, reviewing, generating, and executing Appian tests. Automation engineers can use RoboAppian component APIs directly; business users record, review, verify, approve and execute in Studio without editing Python. Both paths use the same semantic APIs and runtime. Unsupported controls still need engineer mappings, and business expectations must be supplied explicitly.
Project boundaries
| Project | Owns |
|---|---|
robo-appian |
Appian components, synchronization, assertions and runtime adapter |
robo-automation |
Browser resources, pytest integration, evidence infrastructure |
robo-test-studio |
Capture, recording model, approval, generation, UI and execution orchestration |
core-recorder |
Consumer configuration, recordings, test data and generated tests |
Dependency direction is Studio → Appian → Automation. Appian has no mandatory
Studio dependency and contains no recorder modules or CLI implementation.
Studio supplies the appian command for recording, review, generation and UI launch.
Generated tests import RoboAppian and pytest; they can execute without Studio.
Optional execution step telemetry is provided by robo_appian.execution.
See migration to update earlier commands and imports.
Setup from this workspace
cd robo-test-studio
python tools/setup.py --browser chromium
poetry run appian ui
For business testing, run setup from the consumer core-recorder folder instead,
then launch poetry run appian ui there. This keeps recordings and
artifacts in the consumer project.
Distribution / import / executable: robo-test-studio / robo_test_studio /
robo-test-studio. python -m robo_test_studio also works.
appian record --url "https://your-appian-host/suite/sites/your-site" --output recordings/request --start-recording
appian review recordings/request/recording.json
appian validate recordings/request/recording.json
appian generate recordings/request/recording.json --output tests/generated/test_request.py
Setup uses Poetry for environments and dependencies and accepts optional
--browser chromium|chrome|msedge. A standalone checkout uses compatible released
dependencies; workspace setup uses editable siblings when present. The new
library's lockfile is generated by poetry lock during setup. The new public
execution/input-key modules require current workspace Appian code until compatible
artifacts are released. Existing library versions are preserved. No uploads are
performed, and Studio is included in the publish-all release list after its dependencies.
Environment setup options
From the library project directory:
python tools/setup.py --help
python tools/setup.py --browser chromium --docs
The Python entry point delegates to tools/setup.py on Windows, Linux and
macOS. Python 3.12 is required. Setup selects
Poetry 2.5.1, creates or uses this project's .venv, locks and validates
dependencies, installs the project, and verifies local library imports. If
an Appian sibling checkout exists, Poetry installs Appian editable; otherwise it
resolves the released Appian dependency. Appian 0.1.36 or newer supplies Studio's
runtime configuration API and brings Automation transitively. Studio does not
declare or install an editable Automation checkout directly. Project packages are
managed through Poetry; Poetry itself lives in separate shared tooling.
Omit --browser to skip browser installation. The compatibility --docs option installs documentation
tools; website source and its normal build environment live in the public docs project. Existing environments are preserved. --help lists every supported
option without installing anything. Setup does not publish packages or sites.
After setup, run commands from this project:
poetry run appian ui
poetry run python -c "import sys; print(sys.executable)"
For consumer recordings/tests, use the existing core-recorder/tools/setup.py
entry point from that project's folder, then launch Studio there.
Documentation and checks
Maintain documentation in the public robo-test-studio-docs project. From that
project, run python tools/setup.py --build or python tools/setup.py --serve.
Run library unit and DOM checks from this private library project after setup.
Documentation sites
- RoboTest Studio: recording, review, generation and execution workflows.
- RoboAppian: semantic component APIs and runtime integration.
The sites have separate GitHub Pages workflows. These links are the configured destinations; deployment requires pushing each repository and enabling Pages. See the public documentation repository README for publishing setup and MIGRATION.md for the library separation.
License
Released under the MIT License. Copyright (c) 2026 Dinil Mithra. Third-party dependencies retain their own licenses.
Snapshot defaults
This library project's .env keeps recording, execution and failure snapshots
off, including before-and-after capture. Enable capture in your consumer
application's .env and launch Studio from that application directory. Consumer
configuration and session overrides remain independent of the library's defaults.
See Evidence for configuration details.
Compiled distribution (maintainers)
Use python scripts/github/build_compiled_wheel.py --plan to review the protection
inventory and python scripts/github/build_compiled_wheel.py to build an audited native
wheel. See compiled distributions for requirements,
platform builds, readable entry-point exceptions and release instructions.
Documentation
User documentation and homepage assets are maintained in the separate public
robo-test-studio-docs repository. This private project contains the library source.
The public repository owns its Poetry documentation environment and Pages workflow.
No documentation deployment token is required in this private repository.
Documentation site: https://dinilmithra.github.io/robo-test-studio-docs/ .
Internal documentation: technical-documentation.
Repository environment setup
From this repository, run python tools/setup.py --help to see every supported option,
then python tools/setup.py with Python 3.12. Setup uses Poetry 2.5.1 and preserves
the existing repository-specific installation and validation steps.
Setup security updates
Run python tools/setup.py with Python 3.12 to secure the project environment.
Setup verifies pip is at least 26.2.2, upgrading older pip through the official
SHA256-pinned wheel before downloading Poetry. Newer stable pip is preserved.
Poetry 2.5.1 tooling requires certifi>=2026.10.19. Existing external Poetry tools
with an outdated CA bundle are not used or modified; setup creates a secure
bootstrap environment where allowed. Appian setup needs --bootstrap-poetry
when no secure external Poetry installation is available.
Project dependencies and lockfiles stay under Poetry management. If certifi is already locked below the security minimum, setup updates that lock through Poetry and stops if the project constraints cannot resolve a safe version. A project without certifi in its lockfile does not need to add it solely for the Poetry tool. Downloads or verification failures stop setup before it reports success.
Standalone setup
Environment creation, secure tooling bootstrap and Poetry validation are included in the project setup implementation. Run python tools/setup.py --help; a separate environment helper module is not required. Project setup options and existing environment names are preserved.
Metadata
Release files for robo-test-studio 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| robo_test_studio-0.1.2-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details for robo_test_studio-0.1.2-cp312-cp312-win_amd64.whl |
| robo_test_studio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 | Details for robo_test_studio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
| robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_x86_64.whl | CPython 3.12 | CPython 3.12 | macOS 15.0+ x86-64 | Details for robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_x86_64.whl |
| robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 15.0+ ARM64 | Details for robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_arm64.whl |
Total release size: 7.5 MB
Release files / robo_test_studio-0.1.2-cp312-cp312-win_amd64.whl
| Download URL | robo_test_studio-0.1.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 565.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
eb1d7730fdd64a6debe1c86f0133da3e2f5cfe27a181600048d6d72e51e3bea9
|
|
BLAKE2b-256 checksum How to use checksums |
552f3b92be75d0817c33dbfcf4d8b7bc50e59f1938498b89b4d5aab3d817b26b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / robo_test_studio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | robo_test_studio-0.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9d1af9779658892b33d01ac1b1c39f35e22e7e64f2cea7c26a6c15a3c8ccfee1
|
|
BLAKE2b-256 checksum How to use checksums |
baecec744bc5c77f18299e17e78db59ee3a77e79e7a3a43cf310283cad926771
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_x86_64.whl
| Download URL | robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 macOS 15.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
76df6816d14c8d4f4dfa64e4892d14a05b90476c691393d04ee8798d64ccdb2b
|
|
BLAKE2b-256 checksum How to use checksums |
c5fc1e65bbfff5e0272a18cc06d21960aeb3244419bbc9302b66ff01b628ead1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_arm64.whl
| Download URL | robo_test_studio-0.1.2-cp312-cp312-macosx_15_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7095acf0dfc8ad3e4f1fb330160040f965e3a5226894f30a4808a409921d0fe6
|
|
BLAKE2b-256 checksum How to use checksums |
d788659253466bf2a3cfc7c9d93810bca1b6225554ee1e6844d450d9dedbb6da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logSecurity for robo-test-studio 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 4 files in this release have been uploaded with provenance metadata.
Attestation for robo_test_studio-0.1.2-cp312-cp312-win_amd64.whl
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.