robot.model.testcase
¶
TestCase
¶
Bases: ModelObject, Generic[KW]
Base model for a single test case.
Extended by :class:robot.running.model.TestCase and
:class:robot.result.model.TestCase.
Source code in src/robot/model/testcase.py
from_dict
classmethod
¶
Create this object based on data in a dictionary.
Data can be got from the :meth:to_dict method or created externally.
With robot.running model objects new in Robot Framework 6.1,
with robot.result new in Robot Framework 7.0.
Source code in src/robot/model/modelobject.py
from_json
classmethod
¶
Create this object based on JSON data.
The data is given as the source parameter. It can be:
- a string (or bytes) containing the data directly,
- an open file object where to read the data from, or
- a path (
pathlib.Pathor string) to a UTF-8 encoded file to read.
The JSON data is first converted to a Python dictionary and the object
created using the :meth:from_dict method.
Notice that the source is considered to be JSON data if it is
a string and contains {. If you need to use { in a file system
path, pass it in as a pathlib.Path instance.
With robot.running model objects new in Robot Framework 6.1,
with robot.result new in Robot Framework 7.0.
Source code in src/robot/model/modelobject.py
to_json
¶
Serialize this object into JSON.
The object is first converted to a Python dictionary using the
:meth:to_dict method and then the dictionary is converted to JSON.
The file parameter controls what to do with the resulting JSON data.
It can be:
None(default) to return the data as a string,- an open file object where to write the data to, or
- a path (
pathlib.Pathor string) to a file where to write the data using UTF-8 encoding.
JSON formatting can be configured using optional parameters that
are passed directly to the underlying json__ module. Notice that
the defaults differ from what json uses.
With robot.running model objects new in Robot Framework 6.1,
with robot.result new in Robot Framework 7.0.
__ https://docs.python.org/3/library/json.html
Source code in src/robot/model/modelobject.py
config
¶
Configure model object with given attributes.
obj.config(name='Example', doc='Something') is equivalent to setting
obj.name = 'Example' and obj.doc = 'Something'.
New in Robot Framework 4.0.
Source code in src/robot/model/modelobject.py
copy
¶
Return a shallow copy of this object.
:param attributes: Attributes to be set to the returned copy.
For example, obj.copy(name='New name').
See also :meth:deepcopy. The difference between copy and
deepcopy is the same as with the methods having same names in
the copy__ module.
__ https://docs.python.org/3/library/copy.html
Source code in src/robot/model/modelobject.py
deepcopy
¶
Return a deep copy of this object.
:param attributes: Attributes to be set to the returned copy.
For example, obj.deepcopy(name='New name').
See also :meth:copy. The difference between deepcopy and
copy is the same as with the methods having same names in
the copy__ module.
__ https://docs.python.org/3/library/copy.html
Source code in src/robot/model/modelobject.py
body
¶
tags
¶
setup
property
writable
¶
Test setup as a :class:~.model.keyword.Keyword object.
This attribute is a Keyword object also when a test has no setup
but in that case its truth value is False.
Setup can be modified by setting attributes directly::
1 2 | |
Alternatively the :meth:config method can be used to set multiple
attributes in one call::
1 | |
The easiest way to reset the whole setup is setting it to None.
It will automatically recreate the underlying Keyword object::
1 | |
New in Robot Framework 4.0. Earlier setup was accessed like
test.keywords.setup.
has_setup
property
¶
Check does a suite have a setup without creating a setup object.
A difference between using if test.has_setup: and if test.setup:
is that accessing the :attr:setup attribute creates a :class:Keyword
object representing the setup even when the test actually does not have
one. This typically does not matter, but with bigger suite structures
containing a huge about of tests it can have an effect on memory usage.
New in Robot Framework 5.0.
teardown
property
writable
¶
Test teardown as a :class:~.model.keyword.Keyword object.
See :attr:setup for more information.
has_teardown
property
¶
Check does a test have a teardown without creating a teardown object.
See :attr:has_setup for more information.
New in Robot Framework 5.0.
id
property
¶
Test case id in format like s1-t3.
See :attr:TestSuite.id <robot.model.testsuite.TestSuite.id> for
more information.
longname
property
¶
Deprecated since Robot Framework 7.0. Use :attr:full_name instead.