v0.2.0
Pushes coverage of the Dusk Browser API to ~95% (auto-measured against the
current upstream Dusk). Everything not covered is documented as genuinely
un-mappable in COMPATIBILITY.md.
Added
- Mouse: full
page.mouse()mapping - cursor-positionclick(),
clickAtPoint,moveMouse,clickAndHold,releaseMouse, and
cursor/selector variants ofdoubleClick/rightClick/controlClick. - Drag & drop:
drag(viadragTo) anddragUp/Down/Left/Right/dragOffset
(via mouse move sequences). - Keyboard:
withKeyboard()fluent wrapper (KeyboardActions). - Cookies:
cookie/plainCookie/addCookie/deleteCookieand all
six cookie assertions; encrypted cookies use Laravel'sCrypt+
CookieValuePrefix, exactly like Dusk. - Vue:
assertVue,assertVueIsNot,assertVueContains,
assertVueDoesNotContain(+assertVueDoesntContainalias),vueAttribute,
waitUntilVue,waitUntilVueIsNot- reads Vue 2 and Vue 3 internals. - Pages & Components:
Dawn\PageandDawn\Component, plusvisit(Page),
on,onWithoutAssert,component,onComponent;within/withaccept a
Component. - Frames:
withinFrame()via a frame-awareElementResolver(Playwright
frameLocator), with reads routed through locators inside the frame. - Waiting:
waitForEvent();fitContent()measures the document and
resizes the viewport. - Compatibility badge:
scripts/compat-report.php+ a weekly workflow that
measures Dawn against the current laravel/dusk and refreshes a shields
endpoint badge. - Claude auto-review:
.github/workflows/claude-review.ymlreviews PRs.
Changed
- Failure capture dismisses any dialog a failing test left open before taking
the screenshot, and never lets a capture error mask the test's real failure.
Not supported (documented in COMPATIBILITY.md)
maximize/move(no OS window in Playwright),tinker/stop
(interactive-only), and JS dialogsacceptDialog/dismissDialog/
typeInDialog/waitForDialog/assertDialogOpened(the engine's
synchronous transport + always-on dialog listener deadlock on blocking
dialogs). All throwUnsupportedDuskMethod.