This package is an image driver for the bex/behat-screenshot behat extension which uploads to S3.
Install by adding to your composer.json
:
composer require --dev lingoda/behat-screenshot-image-driver-aws-s3
Enable the image driver in the Behat-ScreenshotExtension's config in behat.yml
like this:
default:
extensions:
Bex\Behat\ScreenshotExtension:
active_image_drivers: aws_s3
image_drivers:
aws_s3:
bucket: BUCKET # Required
region: REGION # Required
version: latest # Default
credentials_key: AWS_S3_KEY # Optional
credentials_secret: AWS_S3_SECRET # Optional
credentials_token: AWS_S3_TOKEN # Optional
timeout: 30 # Optional, number of minutes the screenshot will be available when private
visibility: public-read # Optional, can be only public-read or private
When you run behat and a step fails then the Behat-ScreenshotExtension will automatically take the screenshot and will pass it to the image driver, which will return the S3 image url. So you will see something like this:
Scenario: # features/feature.feature:2
Given I have a step # FeatureContext::passingStep()
When I have a failing step # FeatureContext::failingStep()
Error (Exception)
Screenshot has been taken. Open image at http://us-west-1.aws.com/....
Then I should have a skipped step # FeatureContext::skippedStep()