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
                    
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
              
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
              
          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
              
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
              
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
              
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
              
    
    
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.
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.
property
      writable
  
¶
Test teardown as a :class:~.model.keyword.Keyword object.
See :attr:setup for more information.
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.
property
  
¶
    Test case id in format like s1-t3.
See :attr:TestSuite.id <robot.model.testsuite.TestSuite.id> for
more information.
property
  
¶
    Deprecated since Robot Framework 7.0. Use :attr:full_name instead.