Skip to main content

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

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for robo-test-studio 0.1.1
File Actions
robo_test_studio-0.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for robo_test_studio-0.1.1-cp312-cp312-win_amd64.whl
robo_test_studio-0.1.1-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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
robo_test_studio-0.1.1-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.1-cp312-cp312-macosx_15_0_x86_64.whl
robo_test_studio-0.1.1-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details for robo_test_studio-0.1.1-cp312-cp312-macosx_15_0_arm64.whl

Total release size: 7.5 MB

Release files / robo_test_studio-0.1.1-cp312-cp312-win_amd64.whl

Download URL robo_test_studio-0.1.1-cp312-cp312-win_amd64.whl
Size 560.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1e6a8468659c00aaebd6310031afb9d35be8cb77b5177caa8667ff93e850fc9b
BLAKE2b-256 checksum
How to use checksums
d3e10ddc70c7dfc060052692e3b98835618d8f5406e775b6d80fd928a0a5b41a
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 log

Release files / robo_test_studio-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL robo_test_studio-0.1.1-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
2c00b3ad6b6923ebefb547f397b3ff5f803e3ddc41003a837ebb2a0b2f4bd6a2
BLAKE2b-256 checksum
How to use checksums
36dedb6c1810d44d1d4e4a24a68d8774fecca2bdd35eeb98a19d62694926975d
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 log

Release files / robo_test_studio-0.1.1-cp312-cp312-macosx_15_0_x86_64.whl

Download URL robo_test_studio-0.1.1-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
0f3d12a12c8865696e76777b7d9c97ec7baea2662d28fe8996305c59cb6b8c18
BLAKE2b-256 checksum
How to use checksums
983fd90cc8d44ead9cbb05eb3e8483a85de14db1e1e256dde204b0992fb7b352
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 log

Release files / robo_test_studio-0.1.1-cp312-cp312-macosx_15_0_arm64.whl

Download URL robo_test_studio-0.1.1-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
57c466ca28f5cadcac00bb22036d576e67b49078659c20de0832bec799770342
BLAKE2b-256 checksum
How to use checksums
3c689565af196f454e47822937943685f46a2263058712a9969f3e9b3c743581
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 log

Security for robo-test-studio 0.1.1

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.

Select from 4 files

Attestation for robo_test_studio-0.1.1-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 log

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

Release history Release notifications | RSS feed

This release

0.1.1 This release

4 release files Full provenance

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