Official Extensions

DotReporter

See Source

DotReporter provides less verbose output for test execution. Like PHPUnit printer it prints dots “.” for successful testes and “F” for failures.

 ..........
 ..........
 ..........
 ..........
 ..........
 ..........
 ..........
 ..........

Time: 2.07 seconds, Memory: 20.00MB

OK (80 tests, 124 assertions)

Enable this reporter with --ext option

codecept run --ext DotReporter

Failures and Errors are printed by a standard Codeception reporter. Use this extension as an example for building custom reporters.

Logger

See Source

Log suites/tests/steps using Monolog library. Monolog should be installed additionally by Composer.

composer require monolog/monolog

Steps are logged into tests/_output/codeception.log

To enable this module add to your codeception.yml:

extensions:
    enabled: [Codeception\Extension\Logger]

Config

  • max_files (default: 3) - how many log files to keep

Recorder

See Source

Saves a screenshot of each step in acceptance tests and shows them as a slideshow on one HTML page (here’s an example) Activated only for suites with WebDriver module enabled.

The screenshots are saved to tests/_output/record_* directories, open index.html to see them as a slideshow.

Installation

Add this to the list of enabled extensions in codeception.yml or acceptance.suite.yml:

extensions:
    enabled:
        - Codeception\Extension\Recorder

Configuration

  • delete_successful (default: true) - delete screenshots for successfully passed tests (i.e. log only failed and errored tests).
  • module (default: WebDriver) - which module for screenshots to use. Set AngularJS if you want to use it with AngularJS module. Generally, the module should implement Codeception\Lib\Interfaces\ScreenshotSaver interface.

Examples:

extensions:
    enabled:
        Codeception\Extension\Recorder:
            module: AngularJS # enable for Angular
            delete_successful: false # keep screenshots of successful tests

RunFailed

See Source

Saves failed tests into tests/log/failed in order to rerun failed tests.

To rerun failed tests just run the failed group:

php codecept run -g failed

Starting from Codeception 2.1 this extension is enabled by default.

extensions:
    enabled: [Codeception\Extension\RunFailed]

On each execution failed tests are logged and saved into tests/_output/failed file.

RunProcess

See Source

Extension to start and stop processes per suite. Can be used to start/stop selenium server, chromedriver, phantomjs, mailcatcher, etc.

Can be configured in suite config:

# acceptance.suite.yml
extensions:
    enabled:
        - Codeception\Extension\RunProcess:
            - chromedriver

Multiple parameters can be passed as array:

# acceptance.suite.yml

extensions:
    enabled:
        - Codeception\Extension\RunProcess:
            - php -S 127.0.0.1:8000 -t tests/data/app
            - java -jar ~/selenium-server.jar

In the end of a suite all launched processes will be stopped.

To wait for the process to be launched use sleep option. In this case you need configuration to be specified as object:

extensions:
    enabled:
        - Codeception\Extension\RunProcess:
            0: java -jar ~/selenium-server.jar
            1: mailcatcher
            sleep: 5 # wait 5 seconds for processes to boot

HINT: you can use different configurations per environment.

SimpleReporter

See Source

This extension demonstrates how you can implement console output of your own. Recommended to be used for development purposes only.

Looking for commercial support? Request official consulting service