Table of Contents
What Does a Custom Executor Mean?
A custom executor is a Testkube extension that lets teams define their own way of running tests. Instead of relying only on built-in executors for popular frameworks like Postman, Cypress, or JMeter, users can create executors tailored to their unique workflows, languages, or specialized tools.
Custom executors allow Testkube to adapt to any testing strategy, ensuring teams are not limited by the platform’s default options.
Why Custom Executors Matter
Not every team uses the same set of tools. Some rely on niche frameworks, proprietary scripts, or specialized testing logic that mainstream tools do not support. With custom executors, Testkube:
- Enables full flexibility by supporting any testing tool or runtime
- Prevents vendor lock-in by letting teams bring their own frameworks
- Extends Kubernetes-native testing beyond pre-packaged options
- Reduces friction for adopting Testkube in complex or regulated environments
How Custom Executors Work in Testkube
Testkube executors are containerized components responsible for running a specific test type. With a custom executor, users define:
- Docker Image – A container image that packages the custom testing tool and its runtime environment.
- Executor Definition – A Kubernetes Custom Resource (CRD) that registers the executor with Testkube.
- Test Definition – The test itself, written in the format required by the custom tool.
When triggered, Testkube schedules the test in Kubernetes, spins up a pod using the custom executor, and executes the test inside that environment. Logs, results, and artifacts are then aggregated back into Testkube for analysis.
Real-World Use Cases
- Integrating proprietary or in-house testing frameworks
- Running domain-specific validations, such as hardware simulations or compliance checks
- Extending Testkube to support experimental tools before they’re available as official executors
- Enabling legacy test suites to run within Kubernetes without rewriting them