DAI Components
DAI consists of multiple components. Most DAI installations are implemented with various combinations of these components to achieve optimal test coverage and performance. The different components can run on different machines and operating systems as described on the Prerequisites page. You can run DAI on-premises ("on-prem"), hosted in the Eggplant Cloud, or deployed in containers as described in Deploying Eggplant DAI in Containers.
For information about licensing DAI components, see Eggplant DAI Licensing Overview. For information about system recommendations and supported software, including operating systems, see the Prerequisites page.
Component Overview
The diagram below illustrates the DAI components. Below the diagram are high-level descriptions of the components, followed by more information about each of them.
The diagram shows the DAI components in separate boxes based on how they are used, including: DAI Server, test development, and test execution. In reality, you can install DAI components in various combinations on the same or different machines.
-
The DAI Server: The Eggplant DAI Server provides system administrator and test developer tools. For system administrators, it facilitates authentication and manages licensing. For test developers, it serves the Dashboards, Designer, Controller, and Insights apps. The diagram shows it serving the Modeler app and a dashboard, which are being viewed in a browser on the Test Developer Machine. See The Eggplant DAI Server below for more information.
-
The Test Developer Components: The components that you use to create, schedule, and run tests if you are a test developer. Test developers use the DAI dashboard, Designer, and Controller apps in a browser, as well as a Design Agent and the Eggplant Functional (EPF) graphical user interface (GUI) to create and run test scripts, which are called snippets in DAI. The DAI Design Agent and EPF in GUI mode combine to be what is known as a Design Environment in DAI.
-
The Test Execution Components: The machine where tests run unattended. After test developers create tests, the tests can run unattended from a DAI schedule, the command line, or any DevOps pipeline. The DAI components that run tests unattended are the Run Agent and EPF in command line mode (also known as "headless" mode). These components combine to be what is known as a Run Environment in DAI. Running tests with an Run Environment uses fewer machine resources (such as less memory) than a Design Environment.
-
Systems Under Tests: The systems or devices you run your tests against are your systems under test (SUTs). Your tests can run against SUTs, both when you are authoring them in or when they are running unattended. DAI supports desktops, browsers, mobile devices, and other devices accessible using a KVM switch, such as point-of-sale (POS ) systems, human machine interfaces (HMI) systems, and virtual devices. See Systems Under Test below for more information.
A DAI configuration may also include a Reprise License Manager (RLM), if Eggplant Functional uses one for licensing.
Read on for more information about the DAI components listed above.
The Eggplant DAI Server
The Eggplant DAI Server is the heart of DAI. It serves the DAI dashboards, Designer, Controller, and Insights web apps, and facilitates authentication and license management. All of these tools are accessible through a browser from any machine with network access to the DAI Server. See The Eggplant DAI Interface for more information.
The DAI Server is available in the installations types listed in the following table:
DAI Server | Description | References |
---|---|---|
For on-premise Windows installations | The DAI Server runs in the background as a Windows service. | See Install or Upgrade DAI on Windows. |
For cloud-hosted installations | DAI runs hosted in the cloud. | Contact your Technical Success Manager or our Customer Support for more information. |
For linux container deployments | The DAI Server runs in a container. | See Deploying Eggplant DAI in Containers. |
DAI Environments
DAI Environments are the components you use to create your snippets, connect them to your model or test configurations, and then run your tests in DAI. DAI Environments typically run on a separate machine from the DAI server, but can run on the same machine with adequate disk space and memory. DAI Environments consist of DAI agents and Eggplant Functional (EPF) instances, which are described in more detail below.
There are two types of DAI Environments as described in the following table:
DAI Environment Types | Components |
---|---|
Design Environments | Test developers use Design Environments to create and manage their test snippets, connect them to models, and run tests with live run. Design Environments use the DAI Design Agent and EPF in graphical user interface (GUI) mode. The diagram above shows the Design Environment with the Test Developer Components, in the lower-left corner. |
Run Environments | Test developers use Run Environments to run tests unattended from a schedule, a command line (such as from a batch file), or a DevOps pipeline. A Run Environment consists of a DAI Run Agent and EPF in command line mode (also known as "headless" mode), which means EPF runs snippets without the GUI. The diagram above shows the Run Environment with the Test Execution Components, in the upper-right corner. |
For more information, see Environments and About Execution Environments and Agents.
The Environments Page
You add environments to DAI on the Environments page in the DAI Controller by navigating to Controller > Environments. The Environments page lists all the environments added in DAI, with either a green Connected or black Disconnected status. The Connected status indicates the environment is available for DAI to access snippets and run tests; the Disconnected status indicates the environment is not available. The Environments page also shows the type of environment as either DESIGN or RUN. For more information about adding environments, see Environments.
DAI Agents
The DAI Server connects to a DAI agent to initiate test runs. The agents, in turn, use EPF to run the test snippets, which are called "snippets" in DAI. As mentioned in DAI Environments above, DAI provides two types of agents: the Design Agent and the Run Agent. Descriptions of each follow:
DAI Design Agent
When you start the Design Agent, it launches EPF in GUI mode and you will see it on the Environments page in the DAI Controller with a Connected status and in Design mode. The EPF GUI remains open until you quit the DAI Design Agent.
Agent Type | Description | References | Example of How It Works |
---|---|---|---|
Design Agent | A GUI application that manages Eggplant test suites and runs the test snippets in DAI. The Design Agent uses either DAI internal storage or an integrated Git repository to manage the tests suites. | See Connecting an Eggplant Functional Suite for more information about Eggplant test suites. See Manage Suites (Internal Storage) for more information about DAI internal suite storage. See Working with Git Repositories in DAI for more information. | An example of how the Design Agent works is when you run a Model test in the DAI Designer that uses snippets. In this scenario, the DAI Designer initiates the test run with the Design Agent, which then runs the snippet with EPF. You can see the test run in the EPF GUI, if you are looking at the machine where it is running. |