Skip to content

[🚀 Feature]: Refactor video recorder & uploader subscribe to session events #3067

@VietND96

Description

@VietND96

Feature and motivation

In Grid core as well as language bindings are get ready the implementation - SeleniumHQ/selenium#17015 with scopes

  • Adds a client API to fire custom session events to the Grid's event bus, enabling server-side utilities to react to test lifecycle events.
  • Users can set up Selenium Grid with sidecar utilities that subscribe to the Grid's event bus, allowing these services to listen and react to session lifecycle events (session created, session closed, custom test events).

Video recorder & uploader will be

  • Switched to Python script from Bash script (with old approach interval fetch endpoint /status) to use binding https://github.com/zeromq/pyzmq to subscribe to Event Bus for listening SessionCreatedEvent, SessionClosedEvent) to start/stop recording.
  • Solved an advanced demand, which only uploads the recording of the failure tests (failure will be decided by client code, via RemoteWebDriver to fire a session event following convention, then the uploader will decide to upload or not).

This is also a generic mechanism for users to freely implement sidecar services that run on a remote Node or in a Grid ecosystem and react to test lifecycle events.


Backward compatible

  • Bash script with the old approach will be retained for a while. Switching backend processing scripts via environment variables.

Usage example

[TBU]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions