pytest-variables 3.1.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

pytestvariables 3.1.0

pytest-variables is a plugin for pytest that provides variables to
tests/fixtures as a dictionary via a file specified on the command line.






Requirements
You will need the following prerequisites in order to use pytest-variables:

Python 3.8+ or PyPy3



Installation
To install pytest-variables:
$ pip install pytest-variables


Additional formats
The following optional formats are supported, but must be explicitly installed
as they require additional dependencies:

Human JSON
Human JSON is a configuration file format that caters to humans and helps
reduce the errors they make. To install Human JSON support:
$ pip install pytest-variables[hjson]


YAML
YAML is a human friendly data serialization standard for all programming
languages. To install YAML support:
$ pip install pytest-variables[yaml]

YAML Loader
You can specify which loader to use by setting yaml_loader in pytest.ini (or similar file)
to one of the following:


BaseLoader
SafeLoader
FullLoader (default)
UnsafeLoader


[pytest]
yaml_loader = BaseLoader
Note that loader is case-sensitive.
To learn more about the loader, see here



TOML
TOML aims to be a minimal configuration file format that’s easy to read due to obvious semantics. TOML is designed to map unambiguously to a hash table.
To install TOML support:
$ pip install pytest-variables[toml]



Contributing
We welcome contributions.
To learn more, see Development


Specifying variables
Use the –variables command line option one or more times to specify paths to
files containing your variables:
$ pytest --variables firefox-53.json --variables windows-10.json
with the following contents for the firefox-53.json file:
{
"capabilities": {
"browser": "Firefox",
"browser_version": "53.0"
}
}
and another file named windows-10.json with:
{
"capabilities": {
"os": "Windows",
"os_version": "10",
"resolution": "1280x1024"
}
}
you’ll get the merged version of your variables:
{
"capabilities": {
"browser": "Firefox",
"browser_version": "53.0",
"os": "Windows",
"os_version": "10",
"resolution": "1280x1024"
}
}
If multiple files are specified then they will be applied in the order they
appear on the command line. When duplicate keys with non dictionary values
are encountered, the last to be applied will take priority.


Accessing variables
With a JSON variables file such as:
{
"foo": "bar",
"bar": "foo"
}
Specify the variables funcarg to make the variables available to your tests.
The contents of the files are made available as a dictionary:
def test_foo(self, variables):
assert variables['foo'] == 'bar'
assert variables.get('bar') == 'foo'
assert variables.get('missing') is None


Resources

Release Notes
Issue Tracker
Code

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.