Unreleased

Previous Versions

Version 3.0.0

Release v3.0.0 of etr comes with a few minor features as well as some stability and user experience improvements.

New Features

  • EtrJson: New Robot Framework support library EtrJson that provides keywords for conversion to/from JSON.

  • etr.plugins.jinja2: Added support for controlling Jinja2 template rendering order using an array of file pairs:

    version: "1.0"
    # ...
    
    jinja2:
        files:
            - "src/first.j2": "src/first"
            - "src/second.j2": "src/second"
    
  • etr.plugins.jinja2: Added support for global variables between Jinja2 templates.

    // template1.j2
    {# Set global variable in one template #}
    {% do globals.update(variable="value") %}
    
    // template2.j2
    {# Use variable set in template1.j2 #}
    {{ globals.variable }}
    

    Note

    When assuming a specific template order like this, the templates source files must be ordered using an array in the configuration file to ensure correct rendering order.

  • Added experimental (and undocumented) pytest plugin.

Changed/Removed Features

  • Removed support for file system isolation with osfMount. osfMount has not been delivered with the development environment for some time so it made no sense to keep the support in etr.

Improvements

  • etr.plugins.robot: Merged reports from all executed robot tests are created under logs/merged_report.htm and logs/merged_logs.htm.

  • Improved diagnostic output when a test fail, to display where log files containing additional information is located.

  • Improved test coverage and fixed lint warnings.

Compatibility

This version of etr breaks compatibility w.r.t. removal of file system isolation support. No other breaking changes are made.

Version 2.0.0

Release v2.0 of etr comes with a few minor features as well as some stability and user experience improvements.

New Features

  • etr provides a Robot Framework utility library EtrUtils with keywords like GetRandomPort to get random free ports that can be used during the tests.

  • etr also provides the possibility to get a random free port in the Jinja2 renderer:

    random_port = {{ etr.utils.get_random_port() }}
    
  • etr attempts to trace and clean up orphaned processes after Robot Framework test execution.

  • Added –version option that reports the version number.

Improvements

  • Use base name from test files in log files to make it easy to identify. For example a singular robot test src/foo.robot now logs to logs/00_foo_log.htm.

  • Improved test coverage and fixed a number of lint warnings.

  • Added stable exit/return codes for CI to be able to identify difference between e.g. test failure and internal errors.

  • Improved logging overall and reduced default log verbosity and moved logs targeted towards etr developers to debug-level (etr -vv).

Compatibility

This version of etr is backwards compatible with previous release.