lib/selenium/webdriver/common/driver_extensions/has_session_events.rb
# frozen_string_literal: true # Licensed to the Software Freedom Conservancy (SFC) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The SFC licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. module Selenium module WebDriver module DriverExtensions module HasSessionEvents # # Fires a custom session event to the remote server event bus. # This allows test code to trigger server-side utilities that subscribe to # the event bus. # # @param [String] event_type The type of event (e.g., "test:failed", "log:collect") # @param [Hash] payload Optional data to include with the event # @return [Hash] Response data including success status, event type, and timestamp # # @example Fire a simple event # driver.fire_session_event("test:started") # # @example Fire an event with payload # driver.fire_session_event("test:failed", { # testName: "LoginTest", # error: "Element not found" # }) # def fire_session_event(event_type, payload = nil) @bridge.fire_session_event(event_type, payload) end end # HasSessionEvents end # DriverExtensions end # WebDriver end # Selenium