This package together with the JsonPreprocessor package provides functionality to manage Robotframework testsuites
Project description
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
ROBFW TESTSUITES MANAGEMENT DOCUMENTATION
This is the documentation for robotframework-testsuitesmanagement repository
Getting Started
The RobotFramework_Testsuites package works together with JsonPreprocessor python package to provide the enhanced features such as json configuration files, 4 different levels of configuation, config object and global params, schema validation,...
How to install
Firstly, clone RobotFramework_Testsuites repository to your machine
git clone https://github.com/test-fullautomation/robotframework-testsuitesmanagement.git
Go to robotframework-testsuitesmanagement, using the 2 common commands below to build or install this package:
setup.py build will build the package underneath 'build/'
setup.py install will install the package
After the build processes are completed, the package is located in build/, and the documents are located in doc/_build/.
We can use --help
to discover the options for build
command, ex:
setup.py build will build the package underneath 'build/'
setup.py install will install the package
Global options:
--verbose (-v) run verbosely (default)
--quiet (-q) run quietly (turns verbosity off)
--dry-run (-n) don't actually do anything
--help (-h) show detailed help message
--no-user-cfg ignore pydistutils.cfg in your home directory
--command-packages list of packages that provide distutils commands
Information display options (just display information, ignore any commands)
--help-commands list all available commands
--name print package name
--version (-V) print package version
--fullname print <package name>-<version>
--author print the author's name
--author-email print the author's email address
--maintainer print the maintainer's name
--maintainer-email print the maintainer's email address
--contact print the maintainer's name if known, else the author's
--contact-email print the maintainer's email address if known, else the
author's
--url print the URL for this package
--license print the license of the package
--licence alias for --license
--description print the package description
--long-description print the long package description
--platforms print the list of platforms
--classifiers print the list of classifiers
--keywords print the list of keywords
--provides print the list of packages/modules provided
--requires print the list of packages/modules required
--obsoletes print the list of packages/modules made obsolete
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
Features
ROBFW project is configured with json files
Together with JsonPreprocessor
package, RobotFramework_Testsuites
supports configuring ROBFW automation test project with json files which
allow user adds the comments, imports params from other json files.
Adding comments and importing json files are enhanced features which are
developed and documented in JsonPreprocessor
python package.
RobotFramework_Testsuites
management difines 4 different configuration
levels, from level 1 -> level 4, Level 1 is highest priority, and level
4 is lowest priority:
Level 1: Load configuration file while executing robot testsuite by command
User can address the json configuration file when executing robot
testsuite with input parameter
--variable config_file:" <path_to_json_file>"
Ex:
robot --variable config_file:"<path_to_json_file>" <path_to_testsuite>
Level 2: In case project have many variants, it reads from json file's content to select the corresponding variant configuration
In level 2 configuration, user has to create a json file which contains
different variants point to different configuration files. For example,
we create the variants_cfg.json
with content below:
{
"default": {
"name": "<default_cfg_file>",
"path": "<path>"
},
"variant_0": {
"name": "<file_name_variant_0>",
"path": "<path>"
},
"variant_1": {
"name": "<file_name_variant_1>",
"path": "<path>"
},
"variant_2": {
"name": "<file_name_variant_2>",
"path": "<path>"
}
}
User can set configuration level 2 only in testsuite like below:
*** Settings ***
Library RobotFramework_Testsuites WITH NAME testsuites
Suite Setup testsuites.testsuite_setup <Path_to_the_file_variants_cfg.json>
Level 3: Find the config/ folder in testsuite directory, if the config folder is found, it will load configuration file in this folder
If there is the configuration file have the same name with testsuite
file (ex: abc.rotbot
& ./config/abc.json
), then it will load this
configuration file. If the first case doesn't occur, it will load the
configuration file ./config/robot_config.json
. In case these 2 cases
are not matched, it will load the configuration level 4 (default and
lowest priority)
Level 4: Lowest priority level, it reads default configuration file
The default configuration file (robot_config.json
) in installation
directory:
python39\Lib\site-packages\RobotFramework_Testsuites-0.1.0-py3.9.egg\RobotFramework_Testsuites\Config\robot_config.json
Dotdict features
User can access dictionary object in robot test script by called
${dict}[abc][def]
or ${dict.abc.def}
Note: In case a parameter name contains a ".", then we could not
use dotdict but the traditional way ${dict}[abc][def]
is still
working.
Package Documentation
A detailed documentation of the Python Extensions Collection package can be found here: RobotFramework-Testsuites.pdf
Feedback
To give us a feedback, you can send an email to Thomas Pollerspöck or RBVH-ECM-Automation_Test_Framework-Associates
About
Maintainers
Contributors
License
Copyright 2020-2022 Robert Bosch GmbH
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for robotframework-testsuitesmanagement-0.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662fc3651f246dcdbbece8194a447c1a2802bf8a7361bc5b1182ecb7832c0667 |
|
MD5 | b65f9f869036bb24f0c2d751dd6507ee |
|
BLAKE2b-256 | 6c7084977ff5d9447bd0a0f1198bf28e0ae04b81b733b3bb133d0535fd241c79 |
Hashes for robotframework_testsuitesmanagement-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da948d100e5d5937ab2089cba60d6cf8c6bcecc8a99ab3e3f5e1cef82106437d |
|
MD5 | 361d5f3fbf7c073447d86c8b170cfaba |
|
BLAKE2b-256 | f68fdbc868600e6f822ef79f66400cba233003fd0ecadb459a8ec0192277698a |