Skip to main content

Windows desktop test automation with lazy evaluation, auto-waiting, and pytest integration

Project description

Dolphin Desktop

Windows desktop test automation with lazy locators, auto-waiting, and pytest integration.

Dolphin Desktop helps Python tests launch, find, and interact with Windows desktop applications through Microsoft UI Automation, Win32 automation, image matching, and selected integrations such as Java Access Bridge and Office COM.

pip install dolphin-desktop
from dolphin_desktop import Desktop

desktop = Desktop(backend="uia")
app = desktop.launch("notepad.exe")
win = app.window(class_name="Notepad")

editor = win.get_by_role("Document")
editor.click()
editor.type_text("Hello, Dolphin!")

assert "Hello, Dolphin!" in editor.text()

app.kill()

What It Provides

  • Lazy locators that resolve only when an action or query runs.
  • Auto-waiting for element actions and assertions.
  • A pytest plugin with desktop and launch fixtures.
  • UIA and Win32 backends for Windows desktop applications.
  • Image-based fallback selectors with the vision extra.
  • Trace, screenshot, video, recorder, spy, and project scaffold commands.

Quickstart

pip install dolphin-desktop pytest
dolphin doctor
dolphin init my-tests --yes
cd my-tests
pytest tests/ -v

The default scaffold creates a Notepad test and a small Page Object under objects/.

Documentation

The documentation site is built with MkDocs from the docs/ directory:

uv run mkdocs serve

Key pages:

  • docs/installation.md
  • docs/quickstart.md
  • docs/tutorials/first-test.md
  • docs/reference/index.md
  • docs/reference/cli.md

Development

See CONTRIBUTING.md for setup instructions.

Contact

Maintained by DolphinSoft Kamil Gluszek.

License

Apache License 2.0

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

dolphin_desktop-0.1.0.tar.gz (240.6 kB view details)

Uploaded Source

Built Distribution

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

dolphin_desktop-0.1.0-py3-none-any.whl (105.4 kB view details)

Uploaded Python 3

File details

Details for the file dolphin_desktop-0.1.0.tar.gz.

File metadata

  • Download URL: dolphin_desktop-0.1.0.tar.gz
  • Upload date:
  • Size: 240.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dolphin_desktop-0.1.0.tar.gz
Algorithm Hash digest
SHA256 56bf97d2589206766ff7d8fe21dbb95e3c3ddcf0dea93f67f82a23e8a3238472
MD5 54448d6ae3453e43ba5f4defe8179dc2
BLAKE2b-256 aef75f32680dc18782209815144271020ff179d1fa5e2e370a119d0f09d70920

See more details on using hashes here.

Provenance

The following attestation bundles were made for dolphin_desktop-0.1.0.tar.gz:

Publisher: release.yml on DolphinSoftEU/DolphinDesktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dolphin_desktop-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dolphin_desktop-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 105.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dolphin_desktop-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de8e6f03e69c40a5ddf7b28b3ba19b3fa5e29ea2e07b71f8cddaf0d3315914f0
MD5 15a090d22266c0e2606da736159ee6db
BLAKE2b-256 6f61a1d36116a84cc72b9840857ff44b07956763f733403930abf02d15f4e7f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for dolphin_desktop-0.1.0-py3-none-any.whl:

Publisher: release.yml on DolphinSoftEU/DolphinDesktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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