Skip to content

RobotFramework AIO version 0.13.2.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 11 Feb 14:39
· 17 commits to develop since this release
4af47b7

Changelog

JsonPreprocessor

  • Changed data type of return value

    JsonPreprocessor now returns a dotdict (instead of a standard Python dictionary). With the dotdict notation, dictionary keys can be accessed as attributes. The resulting code is shorter and therefore easier to read.

  • Blocked dynamic key names

    In opposite to previous versions of the JsonPreprocessor, the creation of new keys based on parameter (dynamic key names), is not supported an more!

    Example:

    {
       "param1" : "ABC",
       "param2" : "XYZ",
       "${param2}" : 1
    }

    This code previously created a new parameter "XYZ" with value 1. Now an error message will be raised.

  • Improved error handling and error messages

  • Added jsonLoads method that allows users to directly parse JSONP content from strings

    Example:

    jsonpStr = "{\"A\" : 1, \"B\" : 2}"
    json_preprocessor = CJsonPreprocessor()
    retValues = json_preprocessor.jsonLoads(jsonpStr)
  • Added a naming convention check for key names within JSONP content processed by the JsonPreprocessor

    Naming convention:

    • Key names can only consist of letters, digits and the following special characters: _ + - * / \ (backslashes are allowed but must be masked).
    • Key names must start with a letter, a digit or an underscore.
    • Key names must not be empty strings. But leading and trailing blanks will be removed (and therefore do not cause errors).

    Example:

    Valid key names are: "abcParam", "01_Param", "__param+1", "param-1", "[email protected]", ...

    Invalid key names are: "+param01", "param$01", "abc#Param", ...

  • Reworked handling of parameter scope

    To change the value of an existing parameter, an absolute path must be used always.

    Example:

           {
              "params" : {"001" : {"002" : {
                                              "param" : 1,
                                              ${params.001.002.param} : 2
                                           }
                                  }
                         }
           }
  • Enabled dynamic paths for imported JSON files (based on dollar operator expressions)

    Example:

           {
              "root_folder" : "imports",
              "json_file"   : "configuration.jsonp",
              "[import]"    : "./${root_folder}/${json_file}"
           }

PrometheusInterface

Added keywords for Prometheus metric types: Summary and Histogram:

  • add_summary
  • observe_summary
  • add_histogram
  • observe_histogram

References:

RobotFramework_TestsuitesManagement

  • Improved error messages in case of issues while loading the test configuration.

  • Updated JSON schema validation.

  • Resolved redundant code.

  • Modified the naming convention check to be aligned with Robot Framework core standards.

  • Extended import of variant configuration files

    After the RobotFramework_TestsuitesManagement library is imported

    Library      RobotFramework_TestsuitesManagement    WITH NAME    testsuites

    a variant configuration file is usually loaded in a way like this:

    Suite Setup    testsuites.testsuite_setup    ./config/variants_config.jsonp

    With the three-dots syntax extension for relative paths, the positional dependency between the file containing the suite setup and the file with the variant configuration, is made dynamic.

    Suite Setup    testsuites.testsuite_setup    .../config/variants_config.jsonp

    The Robot Framework now also recursively considers parent directories while searching for variant configuration files starting with the actual relative path.

    Important: This feature previously was located inside the variant configuration files, e.g.:

    "default": {
    "name": "testconfig.json",
    "path": ".../"
    }

    This is not supported any more! Only relative paths to the actual directory ("path": "./") and to the parent directory ("path": "../") are possible.

    Why this change?

    Reason 1: It would be confusing to have the three-dots syntax available at two different positions in parallel in the code.

    Reason 2: It is possible now to move the folder containing the variant configuration files and the parameter configuration files up and down in the hierarchy of directories in the file sytem without the need to adapt any import path afterwards!

RobotLog2DB

Add support for robotframework (extended version) result file with thread feature