Skip to main content

Revyl CLI - AI-powered mobile app testing

Project description

Revyl Python SDK

Thin Python wrapper for the Revyl CLI and device API commands.

Install

pip install revyl

Authenticate

Use either:

revyl auth login

or:

export REVYL_API_KEY="rev_..."

Quickstart

from revyl import DeviceClient

device = DeviceClient.start(platform="ios", timeout=600)

device.tap(target="Login button")
device.type_text(target="Email", text="user@example.com")
device.type_text(target="Password", text="secret123")
device.tap(target="Submit")
device.screenshot(out="after-login.png")

device.stop_session()

Context Manager (Auto Stop)

from revyl import DeviceClient

with DeviceClient.start(platform="android") as device:
    device.tap(target="Get Started")
    device.swipe(target="feed", direction="down")

Available Device Methods

  • start_session, stop_session, stop_all, list_sessions, use_session, info, doctor
  • tap, double_tap, long_press, type_text, swipe, drag
  • wait, pinch, clear_text, back, key, shake
  • go_home, open_app, navigate, set_location, download_file
  • screenshot, install_app, launch_app, kill_app

All action methods support either:

  • grounded targeting via target="...", or
  • raw coordinates via x=... and y=...

click is intentionally not part of the SDK surface.

Repo Smoke Script

From the repo root:

make device-prod-sdk-smoke-ios
make device-prod-sdk-smoke-android

Useful variants:

make device-prod-sdk-smoke-ios ARGS="--grounded-text"
make device-prod-sdk-smoke-ios ARGS="--app-url https://... --bundle-id com.example.app"
make device-prod-sdk-smoke-android ARGS="--grounded-text"
make device-prod-sdk-smoke ARGS="--platform android"  # generic ad hoc path

Low-level CLI Access

from revyl import RevylCLI

cli = RevylCLI()
version = cli.run("version")
sessions = cli.run("device", "list", json_output=True)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

revyl-0.1.10.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

revyl-0.1.10-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file revyl-0.1.10.tar.gz.

File metadata

  • Download URL: revyl-0.1.10.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for revyl-0.1.10.tar.gz
Algorithm Hash digest
SHA256 cca9b8f078d8bef2ca73569f50b3f265015d4579e4ec74ccc4ed0a40272a3186
MD5 f1f9f30f8799f3a6507ca9b660dfff8a
BLAKE2b-256 98e2c54b1b4b4c54dc2d0f59aaa095652721ab823d3aafd3f6260d4a6f7bd7c4

See more details on using hashes here.

File details

Details for the file revyl-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: revyl-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for revyl-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 63165186b70503f9d227697a7d9f3fa78a2991a7824974ac1086a997a8b5fb80
MD5 a3eeab1f5cc018578e41adee9ed59c75
BLAKE2b-256 047d3b86f322f4b90b8a884a49201220bcc1a01cb3c2c150c15989d37ed2d435

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page