Skip to content

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

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]

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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