diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java b/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java index 34899dfbb..4aa6e793f 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/Serialization.java @@ -45,6 +45,7 @@ class Serialization { .registerTypeAdapter(Date.class, new DateSerializer()) .registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer()) .registerTypeAdapter(SameSiteAttribute.class, new SameSiteAdapter().nullSafe()) + .registerTypeAdapter(AnnotatePosition.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(BrowserChannel.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(ColorScheme.class, new ToLowerCaseAndDashSerializer()) .registerTypeAdapter(Contrast.class, new ToLowerCaseAndDashSerializer()) diff --git a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java index 2d81b3d47..f36d1b977 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestScreencast.java @@ -16,6 +16,7 @@ package com.microsoft.playwright; +import com.microsoft.playwright.options.AnnotatePosition; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -247,4 +248,21 @@ void screencastShowAndHideActions() throws Exception { context.close(); } } + + @Test + void screencastShowActionsShouldAcceptEveryPosition() throws Exception { + BrowserContext context = browser.newContext(); + Page page = context.newPage(); + try { + page.navigate(server.EMPTY_PAGE); + for (AnnotatePosition position : AnnotatePosition.values()) { + AutoCloseable disposable = page.screencast().showActions( + new Screencast.ShowActionsOptions().setPosition(position)); + assertNotNull(disposable); + disposable.close(); + } + } finally { + context.close(); + } + } }