Class StepResult.Embed

java.lang.Object
io.karatelabs.core.StepResult.Embed
Enclosing class:
StepResult

public static class StepResult.Embed extends Object
A named report embed, generalised to one-or-more StepResult.Parts plus optional meta (see EXT.md ยง Embeds). A legacy single-asset embed (screenshot, doc HTML, karate.embed) is one "primary" part carrying inline bytes; a multi-asset embed (e.g. image-comparison: baseline / current / diff) carries several parts, typically url-based.

Wire shape is uniform: {name, parts:[{role, mime, data|url|file}], meta}. There is no legacy flat (mime_type) form โ€” v2 has no released embed consumers, so this is a clean break. The legacy constructor + accessors remain only as ergonomic helpers for core code that deals in single-asset embeds.

  • Constructor Details

    • Embed

      public Embed(byte[] data, String mimeType, String name)
      Legacy single inline-bytes embed โ€” wrapped as one "primary" part.
    • Embed

      public Embed(String name, List<StepResult.Part> parts, Map<String,Object> meta)
      Multi-asset embed (e.g. image-comparison). parts must be non-empty.
  • Method Details

    • getData

      public byte[] getData()
    • getMimeType

      public String getMimeType()
    • getName

      public String getName()
    • setFileName

      public void setFileName(String fileName)
      Set by HtmlReportWriter after writing the primary part's bytes to disk.
    • getFileName

      public String getFileName()
    • getParts

      public List<StepResult.Part> getParts()
    • getMeta

      public Map<String,Object> getMeta()
    • toMap

      public Map<String,Object> toMap()