graph LR
ExecutionEngine["ExecutionEngine"]
Executor["Executor"]
BatchExecutor["BatchExecutor"]
DryRunExecutor["DryRunExecutor"]
KeywordExecutor["KeywordExecutor"]
BaseRunner["BaseRunner"]
SessionManager["SessionManager"]
Test_Structure_Nodes["Test Structure Nodes"]
ExecutionEngine -- "uses" --> Executor
ExecutionEngine -- "collaborates with" --> SessionManager
BatchExecutor -- "implements" --> Executor
DryRunExecutor -- "implements" --> Executor
KeywordExecutor -- "implements" --> Executor
BatchExecutor -- "processes" --> Test_Structure_Nodes
DryRunExecutor -- "processes" --> Test_Structure_Nodes
KeywordExecutor -- "processes" --> Test_Structure_Nodes
ExecutionEngine -- "delegates to" --> BaseRunner
ExecutionEngine -- "processes" --> Test_Structure_Nodes
Executor -- "processes" --> Test_Structure_Nodes
The Test Execution Engine subsystem is the core orchestrator for managing the lifecycle of test execution within the framework. It embodies the Command Pattern to support various execution strategies and integrates with different test runners, ensuring flexible and robust test automation.
The central orchestrator of the Test Execution Engine subsystem. It coordinates the overall test execution flow, integrating with test runners and session management. It acts as the primary control point for initiating and managing test runs.
Related Classes/Methods:
ExecutionEngine(1:1)
An abstract interface or base class defining various test execution strategies. It serves as the blueprint for concrete implementations like BatchExecutor, DryRunExecutor, and KeywordExecutor, enabling the Command Pattern for diverse execution modes.
Related Classes/Methods:
Executor(1:1)
A concrete implementation of the Executor interface, specifically designed to manage and execute test cases in batches. It handles the sequential or parallel execution of multiple test cases as a single unit.
Related Classes/Methods:
BatchExecutor(1:1)
A concrete implementation of the Executor interface for performing dry runs. This allows for validation of test logic, configuration, and setup without actual execution, useful for debugging and pre-flight checks.
Related Classes/Methods:
DryRunExecutor(1:1)
A concrete implementation of the Executor interface focused on executing individual keywords within a test case. This supports granular control and debugging of specific test actions or verifications.
Related Classes/Methods:
KeywordExecutor(1:1)
An abstract base class for different test runner implementations (e.g., PytestRunner). It provides the standardized interface through which the ExecutionEngine delegates the actual execution of test logic to specific test frameworks.
Related Classes/Methods:
BaseRunner(1:1)
Manages the initialization, configuration, and tear down of test environments and resources. It ensures that the testing context is properly set up before execution and cleaned up afterward, supporting consistent test runs.
Related Classes/Methods:
Represents the hierarchical structure of test cases and individual keywords. These nodes are the data structures that the ExecutionEngine and its Executor implementations process and execute, defining the test logic and flow.
Related Classes/Methods:
Test Structure Nodes(1:1)