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
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | |
full_name: str
property
¶
Test name prefixed with the full name of the parent suite.
has_setup: bool
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.
has_teardown: bool
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: str
property
¶
Test case id in format like s1-t3.
See :attr:TestSuite.id <robot.model.testsuite.TestSuite.id> for
more information.
longname: str
property
¶
Deprecated since Robot Framework 7.0. Use :attr:full_name instead.
setup: KW
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.
teardown: KW
property
writable
¶
Test teardown as a :class:~.model.keyword.Keyword object.
See :attr:setup for more information.
body(body)
¶
config(**attributes)
¶
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(**attributes)
¶
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(**attributes)
¶
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
from_dict(data)
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(source)
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
tags(tags)
¶
to_json(file=None, *, ensure_ascii=False, indent=0, separators=(',', ':'))
¶
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