The Executor - GannettDigital/simulato GitHub Wiki
Simulato Executor
Introduction:
Simulato’s executor is responsible for executing a single test case. The actual execution of the code is done in a node child process created from simulato’s test runner. This document specifies the interactions inside the code and the design of the executor.
Requirements:
- A singular test is run
- Creates a driver used to run the tests
- Local driver
- Sauce driver
- Uses the tunnel created by the test runner
- Reports back to sauce the status of the test
- Executes the actions of the previously generated test by the planner
- Runs each step specified in the model’s action
- Preconditions (optional)
- Asserts the page state for specified preconditions
- Timeout for when to stop checking
- Reports what preconditions were not met
- Asserts the page state for specified preconditions
- Perform
- Uses created driver to execute perform block
- Reports any errors during execution
- Uses created driver to execute perform block
- Effects
- Asserts the page state for specified effects
- Timeout for when to stop checking
- Creates comparison report on failure
- Asserts the page state for specified effects
- Preconditions (optional)
- Runs each step specified in the model’s action
- Report is generated that is sent back to the test runner
- Report requirements are detailed in the report section of this document
- Driver is stopped when test is finished
Report Requirements:
- Test Name
- Test Status
- Total Test Time
- Actions Performed
- Component Name
- Action Name
- Status
- Action Time
- Each Step Performed
- Name
- Status
- Step Time
- Error
- Name
- Code
- Message
- Stack
- State Compare Report (for effects failures)