Class PlaywrightPageProvider

java.lang.Object
net.serenitybdd.playwright.PlaywrightPageProvider
All Implemented Interfaces:
net.serenitybdd.model.steps.StepParameterProvider

public class PlaywrightPageProvider extends Object implements net.serenitybdd.model.steps.StepParameterProvider
SPI provider that resolves Playwright Page constructor parameters for step libraries created via @Steps.

Instead of supplying the real Page (which may not exist yet at injection time), this provider creates a lazy proxy that delegates to PlaywrightSerenity.getCurrentPage() on every method call. This means:

  • Step libraries can be injected before @BeforeEach runs
  • Shared step libraries (@Steps(shared=true)) automatically see the current test's Page via the thread-local registry
  • Constructors that eagerly resolve locators (e.g. page.getByLabel(...)) work because interface return types are automatically wrapped in deferred proxies that resolve when a terminal method is finally called
  • Constructor Details

    • PlaywrightPageProvider

      public PlaywrightPageProvider()
  • Method Details

    • resolve

      public Optional<Object> resolve(Class<?> type)
      Specified by:
      resolve in interface net.serenitybdd.model.steps.StepParameterProvider