Scenario

io.cucumber.scala.Scenario
class Scenario(val delegate: TestCaseState)

Before or After Hooks that declare a parameter of this type will receive an instance of this class. It allows writing text and embedding media into reports, as well as inspecting results (in an After block).

Note: This class is not intended to be used to create reports. To create custom reports use the io.cucumber.plugin.Plugin class. The plugin system provides a much richer access to Cucumbers then hooks after could provide. For an example see io.cucumber.core.plugin.PrettyFormatter.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

def attach(data: Array[Byte], mediaType: String, name: String): Unit

Attach data to the report(s).

Attach data to the report(s).


// Attach a screenshot. See your UI automation tool's docs for
// details about how to take a screenshot.
scenario.attach(pngBytes, "image/png", "Bartholomew and the Bytes of the Oobleck");

To ensure reporting tools can understand what the data is a mediaType must be provided. For example: text/plain, image/png, text/html;charset=utf-8.

Media types are defined in RFC 7231 Section 3.1.1.1.

Attributes

data

what to attach, for example an image.

mediaType

what is the data?

name

attachment name

def attach(data: String, mediaType: String, name: String): Unit

Attaches some text based data to the report.

Attaches some text based data to the report.

Attributes

data

what to attach, for example html.

mediaType

what is the data?

name

attachment name

See also:

#attach(byte[], String, String)

def getId: String

Returns the unique identifier for this scenario.

Returns the unique identifier for this scenario.

If this is a Scenario from Scenario Outlines this will return the id of the example row in the Scenario Outline.

The id is not stable across multiple executions of Cucumber but does correlate with ids used in messages output. Use the uri + line number to obtain a somewhat stable identifier of a scenario.

Attributes

Returns:

the id of the Scenario.

def getLine: Integer

Returns the line in the feature file of the Scenario.

Returns the line in the feature file of the Scenario.

If this is a Scenario from Scenario Outlines this will return the line of the example row in the Scenario Outline.

Attributes

Returns:

the line in the feature file of the Scenario

def getName: String

Attributes

Returns:

the name of the Scenario

def getSourceTagNames: Collection[String]

Attributes

Returns:

tags of this scenario.

def getStatus: Status

Returns the current status of this test case.

Returns the current status of this test case.

The test case status is calculate as the most severe status of the executed steps in the testcase so far.

Attributes

Returns:

the current status of this test case

def getUri: URI

Attributes

Returns:

the uri of the Scenario.

def isFailed: Boolean

Attributes

Returns:

true if and only if getStatus returns "failed"

def log(text: String): Unit

Outputs some text into the report.

Outputs some text into the report.

Attributes

text

what to put in the report.

Concrete fields

val delegate: TestCaseState