What is Eggdrive?
Eggdrive is a mechanism for external processes, such as a script from another testing tool, to use Eggplant Functional’s automation capabilities.
Running as a background service, Eggdrive provides a simple XML-RPC interface for clients to send messages to Eggplant Functional. The external client sends any standard Eggplant Functional command, and receives the results back. Eggplant Functional retains state between calls, allowing a sequence of message interactions to be viewed as a single session. Drive mode is available on all floating license versions of Eggplant Functional.
When to Use Eggdrive
The best use of Eggdrive is incorporating Eggplant Functional into tests that have been written with a different testing tool. Examples include:
- An existing Java test harness can pull values from a database and use Eggdrive to connect to a client and validate the database values through the client interface.
- A Visual Basic script running in Quick Test Pro can launch Eggdrive, connect to the local interface and automate a custom UI control that could not otherwise be automated.
- A Ruby on Rails web interface can accept keyword actions in real time to execute Eggplant Functional scripts that perform high level operations against a dedicated SUT.
There are some situations in which Running from the Command Line might be a better approach than using Eggdrive. For more information on what approach might be best for you, see Eggdrive vs. Command Line Execution.
What Do You Need to Use Eggdrive?
- A floating license of Eggplant Functional v11.2 or later. While you are actively running Eggplant Functional in drive mode, this license is not available for you to use the full Eggplant Functional GUI. If you want to be able to script in Eggplant Functional while you are running tests through Eggdrive, you need two Eggplant Functional licenses.
- An XML-RPC implementation for your native test language. Your original (non-Eggplant Functional) test scripts must be able to make XML-RPC calls to Eggdrive. Multiple XML-RPC implementations are available for many languages.