|
- Feature: Attachments
- It is sometimes useful to take a screenshot while a scenario runs.
- Or capture some logs.
-
- Cucumber lets you `attach` arbitrary files during execution, and you can
- specify a media type for the contents.
-
- Formatters can then render these attachments in reports.
-
- Background:
- Given a file named "features/attaching_screenshot_with_mediatype.feature" with:
- """
- Feature: A screenshot feature
- Scenario:
- Given I attach a screenshot with media type
- """
- Given a file named "features/attaching_screenshot_without_mediatype.feature" with:
- """
- Feature: A file feature
- Scenario:
- Given I attach a screenshot without media type
- """
- And a file named "features/screenshot.png" with:
- """
- foo
- """
- And a file named "features/step_definitions/attaching_screenshot_steps.rb" with:
- """
- Given /^I attach a screenshot with media type/ do
- attach "features/screenshot.png", "image/png"
- end
-
- Given /^I attach a screenshot without media type/ do
- attach "features/screenshot.png"
- end
- """
-
- Scenario: Files can be attached given their path
- When I run `cucumber --format message features/attaching_screenshot_with_mediatype.feature`
- Then output should be valid NDJSON
- And the output should contain NDJSON with key "attachment"
- And the output should contain NDJSON with key "body" and value "Zm9v"
- And the output should contain NDJSON with key "mediaType" and value "image/png"
-
- Scenario: Media type is inferred from the given file
- When I run `cucumber --format message features/attaching_screenshot_without_mediatype.feature`
- Then output should be valid NDJSON
- And the output should contain NDJSON with key "attachment"
- And the output should contain NDJSON with key "body" and value "Zm9v"
- And the output should contain NDJSON with key "mediaType" and value "image/png"
-
- Scenario: With json formatter, files can be attached given their path
- When I run `cucumber --format json features/attaching_screenshot_with_mediatype.feature`
- Then the output should contain "embeddings\":"
- And the output should contain "\"mime_type\": \"image/png\","
- And the output should contain "\"data\": \"Zm9v\""
|