Dramaturge Documentation
Dramaturge is browser automation for .NET, built on the W3C WebDriver BiDi protocol through WebDriverBiDi.NET. It drives Chrome, Firefox, and Edge with one API, and waits for the page so that tests do not have to.
Pre-release: Dramaturge is at version 0.0.x, and its API may change in any release.
What It Does
- Launches browsers: downloads Chrome or Firefox on first use, or uses the browser installed, a remote grid, or a
browser already running (
Dramaturge.Browsers). - Finds elements: by CSS, XPath, text, accessible role and name, label, placeholder, and test ID, chained and filtered, through frames and shadow roots.
- Waits automatically: an action waits until its element is visible, stable, enabled, and not covered, and an element removed while it waits is looked up again.
- Acts like a user: clicks, typing, key presses, form filling, drag and drop, files, and touch, through WebDriver BiDi's input actions.
- Asserts with retries:
Expectchecks a condition again until it holds or its time runs out, and reports what it last saw. - Handles the rest of a page: navigation, dialogs, popups, downloads, screenshots, PDFs, video, routes that answer or change requests, cookies, and network capture to HAR.
- Records traces: a browser's actions, DOM snapshots, screenshots, console, and network traffic, which Playwright's trace viewer opens.
- Writes code for you:
dramaturge codegenrecords what you do in a browser as C#, with locators and assertions.
Packages
| Package | Contents |
|---|---|
Dramaturge |
The automation API |
Dramaturge.Browsers |
Locates, downloads, and launches browsers |
Dramaturge.Tool |
The dramaturge command-line tool, which installs and manages the browsers Dramaturge downloads, and records code |
Where to Start
- Getting Started: a first program, and how Dramaturge waits
- Browser Setup: getting a browser to drive
- Configuration: timeouts and per-browser settings
- Network Capture: recording a page's traffic
- Tracing: recording what a browser did, for Playwright's trace viewer
- Code Generation: recording what you do in a browser as C#
- API Reference