Releases: test-fullautomation/RobotFramework_AIO
Releases · test-fullautomation/RobotFramework_AIO
RobotFramework AIO version 0.13.1.20
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 } } } } { "root_folder" : "imports", "json_file" : "configuration.jsonp", "[import]" : "./${root_folder}/${json_file}" } |
Robot FrameworkIntroduction of New Thread Locking Keywords: In this release, we have introduced two powerful new keywords to enhance thread management and synchronization in your test automation: Thread RLock Acquire and Thread RLock Release. These keywords are essential for managing re-entrant locks (RLocks), providing greater control and safety in multi-threaded environments. Thread RLock Acquire: The Thread RLock Acquire keyword allows a thread to acquire a re-entrant lock (RLock). This is crucial for ensuring that critical sections of your code are executed by only one thread at a time, preventing race conditions and ensuring data consistency. In robot code: Thread RLock Acquire rlock_name blocking=True timeout=-1
Thread RLock Release: The Thread RLock Release keyword allows a thread to release a previously acquired re-entrant lock (RLock). Properly releasing locks is vital for avoiding deadlocks and ensuring the smooth execution of concurrent operations. In robot code: Thread RLock Release rlock_name
More details can be found in RobotFrameworkAIO_Reference.pdf chapter "Threading". Optimized Wait Thread Notification Mechanism: Replaced the wait thread notification mechanism to avoid continuous GIL acquisition, resulting in improved performance. |
RobotFramework AIO DocumentationSeparated documentation in an internal and an extended version (regarding the code of Robot Framework core) |
RobotFramework AIO Package (extended core)Robot Framework pipeline - Added test coverage to ensure functionality and improve overall code reliability
VSCodium Package robotframework-lsp extension is now deprecated, and the RobotCode extension is used as its replacement. Please refer to this issue for more detail. GitHub Copilot Due to licensing restrictions, the GitHub Copilot and GitHub Copilot Chat extensions are not included in the pre-installed packages and must be installed manually. To assist you, the RobotFramework AIO installer provides a ready-to-use command at the end of the installation process. This command is tailored to download and install the correct versions of both extensions, ensuring compatibility with your environment. Steps to Install GitHub Copilot Extensions: - Complete the RobotFramework AIO Installation:
- Once the installation finishes, note the command provided by the installer.
- Run the Command:
- Open a terminal (Linux) or PowerShell (Windows).
- Copy and paste the provided command, then execute it to download and install...
|
Read more
RobotFramework AIO version 0.13.1.19
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 } } } } { "root_folder" : "imports", "json_file" : "configuration.jsonp", "[import]" : "./${root_folder}/${json_file}" } |
Robot FrameworkIntroduction of New Thread Locking Keywords: In this release, we have introduced two powerful new keywords to enhance thread management and synchronization in your test automation: Thread RLock Acquire and Thread RLock Release. These keywords are essential for managing re-entrant locks (RLocks), providing greater control and safety in multi-threaded environments. Thread RLock Acquire: The Thread RLock Acquire keyword allows a thread to acquire a re-entrant lock (RLock). This is crucial for ensuring that critical sections of your code are executed by only one thread at a time, preventing race conditions and ensuring data consistency. In robot code: Thread RLock Acquire rlock_name blocking=True timeout=-1
Thread RLock Release: The Thread RLock Release keyword allows a thread to release a previously acquired re-entrant lock (RLock). Properly releasing locks is vital for avoiding deadlocks and ensuring the smooth execution of concurrent operations. In robot code: Thread RLock Release rlock_name
More details can be found in RobotFrameworkAIO_Reference.pdf chapter "Threading". Optimized Wait Thread Notification Mechanism: Replaced the wait thread notification mechanism to avoid continuous GIL acquisition, resulting in improved performance. |
RobotFramework AIO DocumentationSeparated documentation in an internal and an extended version (regarding the code of Robot Framework core) |
RobotFramework AIO Package (extended core)Robot Framework pipeline - Added test coverage to ensure functionality and improve overall code reliability
VSCodium Package robotframework-lsp extension is now deprecated, and the RobotCode extension is used as its replacement. Please refer to this issue for more detail. GitHub Copilot Due to licensing restrictions, the GitHub Copilot and GitHub Copilot Chat extensions are not included in the pre-installed packages and must be installed manually. To assist you, the RobotFramework AIO installer provides a ready-to-use command at the end of the installation process. This command is tailored to download and install the correct versions of both extensions, ensuring compatibility with your environment. Steps to Install GitHub Copilot Extensions: - Complete the RobotFramework AIO Installation:
- Once the installation finishes, note the command provided by the installer.
- Run the Command:
- Open a terminal (Linux) or PowerShell (Windows).
- Copy and paste the provided command, then execute it to download and install...
|
Read more
RobotFramework AIO version 0.13.1.18
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 } } } } { "root_folder" : "imports", "json_file" : "configuration.jsonp", "[import]" : "./${root_folder}/${json_file}" } |
Robot FrameworkIntroduction of New Thread Locking Keywords: In this release, we have introduced two powerful new keywords to enhance thread management and synchronization in your test automation: Thread RLock Acquire and Thread RLock Release. These keywords are essential for managing re-entrant locks (RLocks), providing greater control and safety in multi-threaded environments. Thread RLock Acquire: The Thread RLock Acquire keyword allows a thread to acquire a re-entrant lock (RLock). This is crucial for ensuring that critical sections of your code are executed by only one thread at a time, preventing race conditions and ensuring data consistency. In robot code: Thread RLock Acquire rlock_name blocking=True timeout=-1
Thread RLock Release: The Thread RLock Release keyword allows a thread to release a previously acquired re-entrant lock (RLock). Properly releasing locks is vital for avoiding deadlocks and ensuring the smooth execution of concurrent operations. In robot code: Thread RLock Release rlock_name
More details can be found in RobotFrameworkAIO_Reference.pdf chapter "Threading". Optimized Wait Thread Notification Mechanism: Replaced the wait thread notification mechanism to avoid continuous GIL acquisition, resulting in improved performance. |
RobotFramework AIO DocumentationSeparated documentation in an internal and an extended version (regarding the code of Robot Framework core) |
RobotFramework AIO Package (extended core)Robot Framework pipeline - Added test coverage to ensure functionality and improve overall code reliability
VSCodium Package robotframework-lsp extension is now deprecated, and the RobotCode extension is used as its replacement. Please refer to this issue for more detail. GitHub Copilot Due to licensing restrictions, the GitHub Copilot and GitHub Copilot Chat extensions are not included in the pre-installed packages and must be installed manually. To assist you, the RobotFramework AIO installer provides a ready-to-use command at the end of the installation process. This command is tailored to download and install the correct versions of both extensions, ensuring compatibility with your environment. Steps to Install GitHub Copilot Extensions: - Complete the RobotFramework AIO Installation:
- Once the installation finishes, note the command provided by the installer.
- Run the Command:
- Open a terminal (Linux) or PowerShell (Windows).
- Copy and paste the provided command, then execute it to download and install...
|
Read more
RobotFramework AIO version 0.13.0.23
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 Key names have to start with a character, digit, or underscore and must not contain these special characters !#$%^&()=[]{}|;',?`~ Example: Valid key names are: "abcParam" , "01_Param" , "__param+1" , "param-1" , "[email protected]" , ... Invalid key names are: "+param01" , "param$01" , "abc#Param" , ... |
PrometheusInterfaceInitial introduction of keyword library PrometheusInterface. The interface library PrometheusInterface provides Robot Framework keywords to communicate with the monitoring system Prometheus. With the help of this interface it is possible to use Prometheus to monitor data provided by Robot Framework tests. The monitoring system Prometheus has to be installed separately. Please visit the homepage for that. This homepage also contains a getting started section containing useful hints about how to configure the application. Further informations can also be found here. The entire test setup is described in the main documentation of this keyword library. Example The goal is to count the number of passed and failed tests at two test benches: testbench_1 and testbench_2. Step 1: Import the interface library Library %{ROBOTPYTHONSITEPACKAGESPATH}/PrometheusInterface/prometheus_interface.py WITH NAME rf.prometheus_interface Step 2: Create a counter for passed and a counter for failed tests (with "testbench" is the name of a label, and not the value of a label with this name; the name of the testbench is also not part of the counter name!). rf.prometheus_interface.add_counter name=num_passed description=: number of passed tests labels=testbench rf.prometheus_interface.add_counter name=num_failed description=: number of failed tests labels=testbench This is usually done in the suite setup. Step 3: Whenever a test is passed or failed on a certain testbench, increment the corresponding counter, passing the testbench name also (here the testbench name is the value of the label with name "testbench"). rf.prometheus_interface.inc_counter name=num_passed labels=testbench_1 rf.prometheus_interface.inc_counter name=num_failed labels=testbench_2 And so on. |
PyTestLog2DB - Introduce new feature to switch the access interface to TestResult's database
Add supported new interface to database REST API Access. This interface helps to import test result data to the secured server which is not allowed to interact directly with the database. Add new optional argument --interface which allow to switch between available interfaces (currently only direct access). Its value can be: db (default value): use direct access to TestResult's database. rest : use REST API Access to TestResult's database (new access) This change is transparent to end user. - Add new optional argument
--testrunurl to specify a link to test execution job, such as Jenkins or Gitlab CI/CD - Fix issue with parsing timestamps from pytest version
8.3.1 result files |
Robot FrameworkIntroduction of New Thread Locking Keywords: In this release, we have introduced two powerful new keywords to enhance thread management and synchronization in your test automation: Thread RLock Acquire and Thread RLock Release. These keywords are essential for managing re-entrant locks (RLocks), providing greater control and safety in multi-threaded environments. Thread RLock Acquire: The Thread RLock Acquire keyword allows a thread to acquire a re-entrant lock (RLock). This is crucial for ensuring that critical sections of your code are executed by only one thread at a time, preventing race conditions and ensuring data consistency. In robot code: Thread RLock Acquire rlock_name blocking=True timeout=-1
Thread RLock Release: The Thread RLock Release keyword allows a thread to release a previously acquired re-entrant lock (RLock). Properly releasing locks is vital for avoiding deadlocks and ensuring the smooth execution of concurrent operations. In robot code: Thread RLock Release rlock_name
More details can be found in |
Read more
RobotFramework AIO version 0.13.0.22
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 Key names have to start with a character, digit, or underscore and must not contain these special characters !#$%^&()=[]{}|;',?`~ Example: Valid key names are: "abcParam" , "01_Param" , "__param+1" , "param-1" , "[email protected]" , ... Invalid key names are: "+param01" , "param$01" , "abc#Param" , ... |
PrometheusInterfaceInitial introduction of keyword library PrometheusInterface. The interface library PrometheusInterface provides Robot Framework keywords to communicate with the monitoring system Prometheus. With the help of this interface it is possible to use Prometheus to monitor data provided by Robot Framework tests. The monitoring system Prometheus has to be installed separately. Please visit the homepage for that. This homepage also contains a getting started section containing useful hints about how to configure the application. Further informations can also be found here. The entire test setup is described in the main documentation of this keyword library. Example The goal is to count the number of passed and failed tests at two test benches: testbench_1 and testbench_2. Step 1: Import the interface library Library %{ROBOTPYTHONSITEPACKAGESPATH}/PrometheusInterface/prometheus_interface.py WITH NAME rf.prometheus_interface Step 2: Create a counter for passed and a counter for failed tests (with "testbench" is the name of a label, and not the value of a label with this name; the name of the testbench is also not part of the counter name!). rf.prometheus_interface.add_counter name=num_passed description=: number of passed tests labels=testbench rf.prometheus_interface.add_counter name=num_failed description=: number of failed tests labels=testbench This is usually done in the suite setup. Step 3: Whenever a test is passed or failed on a certain testbench, increment the corresponding counter, passing the testbench name also (here the testbench name is the value of the label with name "testbench"). rf.prometheus_interface.inc_counter name=num_passed labels=testbench_1 rf.prometheus_interface.inc_counter name=num_failed labels=testbench_2 And so on. |
PyTestLog2DB - Introduce new feature to switch the access interface to TestResult's database
Add supported new interface to database REST API Access. This interface helps to import test result data to the secured server which is not allowed to interact directly with the database. Add new optional argument --interface which allow to switch between available interfaces (currently only direct access). Its value can be: db (default value): use direct access to TestResult's database. rest : use REST API Access to TestResult's database (new access) This change is transparent to end user. - Add new optional argument
--testrunurl to specify a link to test execution job, such as Jenkins or Gitlab CI/CD - Fix issue with parsing timestamps from pytest version
8.3.1 result files |
Robot FrameworkIntroduction of New Thread Locking Keywords: In this release, we have introduced two powerful new keywords to enhance thread management and synchronization in your test automation: Thread RLock Acquire and Thread RLock Release. These keywords are essential for managing re-entrant locks (RLocks), providing greater control and safety in multi-threaded environments. Thread RLock Acquire: The Thread RLock Acquire keyword allows a thread to acquire a re-entrant lock (RLock). This is crucial for ensuring that critical sections of your code are executed by only one thread at a time, preventing race conditions and ensuring data consistency. In robot code: Thread RLock Acquire rlock_name blocking=True timeout=-1
Thread RLock Release: The Thread RLock Release keyword allows a thread to release a previously acquired re-entrant lock (RLock). Properly releasing locks is vital for avoiding deadlocks and ensuring the smooth execution of concurrent operations. In robot code: Thread RLock Release rlock_name
More details can be found in |
Read more
RobotFramework AIO version 0.12.1.5
rel/aio/0.12.1.5
released version aio/0.12.1.5
RobotFramework AIO version 0.12.0.4
rel/aio/0.12.0.4
released version aio/0.12.0.4
RobotFramework AIO version 0.11.0.4
rel/aio/0.11.0.4
released version aio/0.11.0.4
RobotFramework AIO version 0.10.0.7
rel/aio/0.10.0.7
released version aio/0.10.0.7
RobotFramework AIO version 0.9.3.0
rel/aio/0.9.3.0
released version aio/0.9.3.0