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
desktopandlaunchfixtures. - UIA and Win32 backends for Windows desktop applications.
- Image-based fallback selectors with the
visionextra. - 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.mddocs/quickstart.mddocs/tutorials/first-test.mddocs/reference/index.mddocs/reference/cli.md
Development
See CONTRIBUTING.md for setup instructions.
Contact
Maintained by DolphinSoft Kamil Gluszek.
- Website: https://dolphinsoft.pl
- Email: kontakt@dolphinsoft.pl
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56bf97d2589206766ff7d8fe21dbb95e3c3ddcf0dea93f67f82a23e8a3238472
|
|
| MD5 |
54448d6ae3453e43ba5f4defe8179dc2
|
|
| BLAKE2b-256 |
aef75f32680dc18782209815144271020ff179d1fa5e2e370a119d0f09d70920
|
Provenance
The following attestation bundles were made for dolphin_desktop-0.1.0.tar.gz:
Publisher:
release.yml on DolphinSoftEU/DolphinDesktop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dolphin_desktop-0.1.0.tar.gz -
Subject digest:
56bf97d2589206766ff7d8fe21dbb95e3c3ddcf0dea93f67f82a23e8a3238472 - Sigstore transparency entry: 1672936833
- Sigstore integration time:
-
Permalink:
DolphinSoftEU/DolphinDesktop@0e1b006bf4096b422049161e76334daeea68c69c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/DolphinSoftEU
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e1b006bf4096b422049161e76334daeea68c69c -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de8e6f03e69c40a5ddf7b28b3ba19b3fa5e29ea2e07b71f8cddaf0d3315914f0
|
|
| MD5 |
15a090d22266c0e2606da736159ee6db
|
|
| BLAKE2b-256 |
6f61a1d36116a84cc72b9840857ff44b07956763f733403930abf02d15f4e7f7
|
Provenance
The following attestation bundles were made for dolphin_desktop-0.1.0-py3-none-any.whl:
Publisher:
release.yml on DolphinSoftEU/DolphinDesktop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dolphin_desktop-0.1.0-py3-none-any.whl -
Subject digest:
de8e6f03e69c40a5ddf7b28b3ba19b3fa5e29ea2e07b71f8cddaf0d3315914f0 - Sigstore transparency entry: 1672936848
- Sigstore integration time:
-
Permalink:
DolphinSoftEU/DolphinDesktop@0e1b006bf4096b422049161e76334daeea68c69c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/DolphinSoftEU
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0e1b006bf4096b422049161e76334daeea68c69c -
Trigger Event:
push
-
Statement type: