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.9.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.9-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for revyl-0.1.9.tar.gz
Algorithm Hash digest
SHA256 c0faca3c7c06ff8d5d68098e09286b1cefec6996445c9c2c298eba0a9079858a
MD5 1de2a729272e3c3c4423653fb31fbac1
BLAKE2b-256 b35956fa30bc29b444f74d7300465fe30888171de8bc113beca342d380151412

See more details on using hashes here.

File details

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

File metadata

  • Download URL: revyl-0.1.9-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.14

File hashes

Hashes for revyl-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 366a0968f6aa5d6740be3a6327dca61724a7debe96fc126efa10072b96477ee8
MD5 73bcefc0b0e5b7b80e2bf3a2110807f0
BLAKE2b-256 1b9d6cf8972983a7563b5f51d0fc652b8c55d0b777eba52b3e344c73fc5d4ec9

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