Test a domain object using a "script" of actions
This ModelChecker subclass reads actions from a table with three or
more columns. The first cell in each row is a "command", such as "start",
"enter", "press", or "check", that is used to look up a method on the
action processor itself. The invoked method can then use the remaining
cells from the row to obtain its arguments. See the docs for the start,
enter, press, and check methods for more details.
Note that tables used with ActionChecker must not include column
headings, as ActionChecker does not parse them. (As a result, it also
has no need for a columnSuffix attribute or parseHeader() method.)
Unlike ModelChecker, ActionChecker should not be given a specific
targetClass to use. Instead, the start command is used to create an
instance of a specified class, which is then used until another start
command is executed. Also, ActionChecker does not use the
columnSuffixes attribute, because it does not parse column headings.
|
Methods
|
|
check
enter
getCommand
mapCell
press
processRow
processRows
start
|
|
|
check
|
check ( self, cells )
Look up a field name, and check if value matches
|
|
|
enter
|
enter ( self, cells )
Look up a field name, and then set it to value
|
|
|
getCommand
|
getCommand ( self, text )
Lookup text as a method of this processor
You can override this if you want to use a different strategy for
obtaining commands. The returned command must be a callable that
takes one parameter: a list of cells. The cells the command receives
will be the remainder of the row that contained the command; typically
this means row.cells[1:].
|
|
|
mapCell
|
mapCell (
self,
mapperCell,
mappedCell,
mapMethod,
)
Convenience method for two-argument mapping commands
|
|
|
press
|
press ( self, cells )
Invoke specified method/button/whatever
|
|
|
processRow
|
processRow (
self,
row,
rows,
)
Process a row using self.getCommand(firstCell.text)(otherCells)
|
|
|
processRows
|
processRows ( self, rows )
Just process rows; no column headings are required or wanted.
|
|
|
start
|
start ( self, cells )
Obtain an instance of the specified type and use it from here on
|
|