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.Path
or 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.Path
or 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.