In Tricentis Tosca, SET stands for Special Execution Task.
A Special Execution Task (SET) is a fundamental component within Tosca's automation framework, designed to extend the capabilities of your test executions beyond standard module-based interactions. It allows users to define and perform specific behaviors or logic without being inherently tied to a particular Tosca Engine (such as a GUI Engine for web applications or an API Engine for web services).
SETs are comparable to the concept of "Keywords" found in older, Classic Tosca Engines, providing a modern and flexible way to integrate custom operations into your automated test cases.
Understanding Special Execution Tasks (SETs)
SETs offer a powerful mechanism for scenarios where your test automation needs to perform actions that are not directly related to interacting with an application's user interface or API via standard Tosca Modules. They are an integral part of Tosca's TBox framework, enabling robust and versatile automation.
Key aspects of SETs include:
- Custom Behavior Definition: SETs allow you to define and execute custom logic or operations within your test steps.
- Engine Independence: A significant advantage of SETs is their ability to perform tasks independently of a specific Tosca Engine. This means you can use them for actions that don't require a browser, an application window, or an API call.
- Enhanced Automation Scope: They expand the range of activities Tosca can automate, allowing for more comprehensive test scenarios.
Benefits and Practical Applications of SETs
Special Execution Tasks provide numerous advantages, making them indispensable for complex and sophisticated automation projects:
- Flexible Logic Integration: Implement intricate business logic, data manipulations, or calculations directly within your test cases.
- Cross-Platform Operations: Perform operations that interact with the local machine's file system, registry, or execute external scripts, regardless of the application under test.
- Reduced Module Dependency: For common, non-UI related tasks, SETs can reduce the need for creating numerous specialized modules, streamlining test case design.
- Improved Reusability: Once defined, SETs can be easily reused across different test cases, modules, and even projects, promoting efficiency and consistency.
- Custom Validation and Reporting: SETs can be used to perform complex data validations or generate custom logs and reports based on test execution outcomes.
Common Use Cases for SETs:
- Data Preparation & Cleanup:
- Generating unique test data (e.g., random strings, timestamps).
- Clearing temporary files or database entries before/after test runs.
- Formatting or transforming data to meet specific input requirements.
- File System Interactions:
- Creating, reading, writing, or deleting files and folders.
- Checking for the existence or content of specific files (e.g., log files, output reports).
- System-Level Operations:
- Executing external command-line scripts or programs.
- Interacting with environment variables.
- Custom Assertions:
- Performing complex mathematical calculations for validation.
- Comparing large datasets or complex data structures programmatically.
SETs vs. Classic Keywords (Conceptual Comparison)
While SETs in the TBox framework serve a similar purpose to Keywords in Classic Engines, they represent an evolution in terms of flexibility and integration within Tosca's modern architecture.
Feature | Special Execution Task (SET) | Classic Keyword (Historical) |
---|---|---|
Framework | Modern TBox Framework | Older Classic Engines |
Purpose | Define custom behavior within test execution | Define custom behavior, often linked to a specific Classic Engine's capabilities |
Flexibility | Highly flexible, adaptable to various custom requirements | Generally more rigid, tied to specific engine interactions |
Integration | Seamlessly integrates with TBox Modules, TestSteps, and Data | Part of the Classic Engine's specific command set |
In essence, SETs empower Tosca users to extend automation capabilities by enabling the execution of custom, engine-independent logic, making test automation more robust, flexible, and comprehensive.