Class SessionEvent

java.lang.Object
org.openqa.selenium.events.Event
org.openqa.selenium.grid.data.SessionEvent

public class SessionEvent extends Event
Event for user-defined session events fired from clients through the Grid. This enables sidecar services to receive custom events and take action accordingly.

Example Usage

Sidecar service subscribing to events:

// Listen for all session events
bus.addListener(SessionEvent.listener(data -> {
  System.out.println("Received event: " + data.getEventType());
  System.out.println("Session: " + data.getSessionId());
  System.out.println("Payload: " + data.getPayload());
}));

// Listen for specific event types
bus.addListener(SessionEvent.listener("test:failed", data -> {
  collectLogs(data.getSessionId());
  takeScreenshot(data.getSessionId());
}));

// Listen for events matching a pattern
bus.addListener(SessionEvent.listener(
    data -> data.getEventType().startsWith("test:"),
    data -> {
      updateTestDashboard(data);
    }
));
See Also:
  • Constructor Details

  • Method Details

    • listener

      public static EventListener<SessionEventData> listener(Consumer<SessionEventData> handler)
      Creates a listener for all session events.
      Parameters:
      handler - the handler to process session events
      Returns:
      an EventListener configured for session events
    • listener

      public static EventListener<SessionEventData> listener(String eventType, Consumer<SessionEventData> handler)
      Creates a listener for session events of a specific type.
      Parameters:
      eventType - the event type to listen for (e.g., "test:failed")
      handler - the handler to process matching events
      Returns:
      an EventListener configured for the specific event type
    • listener

      public static EventListener<SessionEventData> listener(Predicate<SessionEventData> matcher, Consumer<SessionEventData> handler)
      Creates a listener for session events matching a predicate.
      Parameters:
      matcher - a predicate to filter events
      handler - the handler to process matching events
      Returns:
      an EventListener configured for matching events
    • sessionListener

      public static EventListener<SessionEventData> sessionListener(SessionId sessionId, Consumer<SessionEventData> handler)
      Creates a listener for events from a specific session.
      Parameters:
      sessionId - the session ID to listen for
      handler - the handler to process events from that session
      Returns:
      an EventListener configured for the specific session