Class TraceEventRecorder

java.lang.Object
com.shaft.tools.io.internal.TraceEventRecorder

public final class TraceEventRecorder extends Object
Thread-local Selenium trace event recorder used by failure trace artifacts.
  • Method Details

    • start

      public static TraceEventRecorder.Event start(String category, String name, org.openqa.selenium.By locator, org.openqa.selenium.WebDriver driver)
      Starts timing a trace action for the current thread.
      Parameters:
      category - action category
      name - action name
      locator - action locator
      driver - active WebDriver, or null
      Returns:
      started event handle, or a disabled handle when tracing is off
    • start

      public static TraceEventRecorder.Event start(String category, String name, String locator, org.openqa.selenium.WebDriver driver)
      Starts timing a trace action for the current thread.
      Parameters:
      category - action category
      name - action name
      locator - action locator text
      driver - active WebDriver, or null
      Returns:
      started event handle, or a disabled handle when tracing is off
    • recordScreenshot

      public static void recordScreenshot(TraceEventRecorder.Event event, byte[] png)
      Buffers a screenshot for the given action, keyed by TraceEventRecorder.Event.id(), so finish(TraceEventRecorder.Event, String, String, Throwable, Map, List) can embed it in the action's trace JSON. Gated by shaft.trace.includeScreenshots and bounded by shaft.trace.maxArtifactMb so buffered PNGs can never grow unbounded within a single thread's trace. Never throws.
      Parameters:
      event - started event handle from start(String, String, By, WebDriver)
      png - screenshot bytes, or null
    • record

      public static void record(String category, String name, String status, String locator, org.openqa.selenium.WebDriver driver, String message, Throwable exception, Map<String,String> metadata, List<String> attachmentSummaries)
      Records a finished action without measuring an enclosing block.
      Parameters:
      category - action category
      name - action name
      status - action status
      locator - action locator text
      driver - active WebDriver, or null
      message - action message
      exception - failure exception, or null
      metadata - action metadata
      attachmentSummaries - attachment summaries
    • record

      public static void record(String category, String name, String status, String locator, org.openqa.selenium.WebDriver driver, String message, Throwable exception, Map<String,String> metadata, List<String> attachmentSummaries, Map<String,Object> actionability)
      Records a finished action with actionability diagnostics without measuring an enclosing block.
      Parameters:
      category - action category
      name - action name
      status - action status
      locator - action locator text
      driver - active WebDriver, or null
      message - action message
      exception - failure exception, or null
      metadata - action metadata
      attachmentSummaries - attachment summaries
      actionability - actionability diagnostics
    • finish

      public static void finish(TraceEventRecorder.Event event, String status, String message, Throwable exception, Map<String,String> metadata, List<String> attachmentSummaries)
      Finishes a timed trace action.
      Parameters:
      event - event handle returned from start(String, String, By, WebDriver)
      status - action status
      message - action message
      exception - failure exception, or null
      metadata - action metadata
      attachmentSummaries - attachment summaries
    • finish

      public static void finish(TraceEventRecorder.Event event, String status, String message, Throwable exception, Map<String,String> metadata, List<String> attachmentSummaries, Map<String,Object> actionability)
      Finishes a timed trace action with actionability diagnostics.
      Parameters:
      event - event handle returned from start(String, String, By, WebDriver)
      status - action status
      message - action message
      exception - failure exception, or null
      metadata - action metadata
      attachmentSummaries - attachment summaries
      actionability - actionability diagnostics
    • latestActionId

      public static String latestActionId()
      Returns the latest finished action id for linking follow-up artifacts.
      Returns:
      latest action id, or blank when no action is recorded
    • clear

      public static void clear()
      Clears current thread action events.