Cloudinary image driver for bex/behat-screenshot behat extension

v1.1.3 2021-09-24 11:10 UTC


This package is an image driver for the bex/behat-screenshot behat extension which can upload the screenshot to Cloudinary and print the url of the uploaded image.


Install by adding to your composer.json:

composer require --dev ezsystems/behat-screenshot-image-driver-cloudinary


Enable the image driver in the Behat-ScreenshotExtension's config in behat.yml:

      active_image_drivers: cloudinary

You can choose how to upload files:

  • signed upload: export the Cloudinary values (cloud name, API Key and API Secret) as environmental variables
  • unsigned upload: set the cloud_name and preset in configuration
          active_image_drivers: cloudinary
                  screenshot_directory: /tmp/behat-screenshot/
                  cloud_name: X
                  preset: Y

Other options:

  • mode: if set to ci then will work only on CI environments, not locally. Defaults to normal
  • limit: specifies the number of screenshots that can be taken in a single Behat run. It's based on number of files in screenshot_directory, so make sure that the folder is empty before the tests are run and cleaned only after the whole suite, not after every test.


When a step fails a screenshot will be taken and uploaded to Cloudinary. URL of the uploaded image will be displayed in the Behat log.

  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 https://res.cloudinary.com/cloud_name/image/upload/IMAGE_LINK.png
    Then I should have a skipped step # FeatureContext::skippedStep()


Copyright (C) 1999-2021 Ibexa AS (formerly eZ Systems AS). All rights reserved.


This source code is available separately under the following licenses:

A - Ibexa Business Use License Agreement (Ibexa BUL), version 2.4 or later versions (as license terms may be updated from time to time) Ibexa BUL is granted by having a valid Ibexa DXP (formerly eZ Platform Enterprise) subscription, as described at: https://www.ibexa.co/product For the full Ibexa BUL license text, please see:


B - GNU General Public License, version 2 Grants an copyleft open source license with ABSOLUTELY NO WARRANTY. For the full GPL license text, please see: