Welcome to Aida’s documentation!¶
Contents:
What is Aida¶
Aida is a Functional testing suite which is best suited for practically every type of application testing.
Thanks to the perfect integration with robotframework, through aida it is possible to carry out virtually any testing activity; The suite in addition offers its users the possibility to create and distribute test templates, schedule and repeat cyclical executions, manage the access levels of main features based on the type of user you are creating and much more.
Aida test suite is a SaaS distribution therefore does not have hardware or software specification limits and is one of the most popular testing tool available in the market.
Start with Aida¶
Aida was prouded developed by:
Subscription plans¶
Aida test suite can be used with two convenient payment plans, depending on your business needs you can choose between a pay-as-you-go rate based only on live test run time or a fixed all-inclusive monthly fee. Whatever rate is chosen the first 30 days of use are free.
ONDemand subscription¶
The ondemand aida plan provides for the use of all the functions of aida without any kind of restriction on traffic, user licenses or any other aspect related to the functionality of the product. The pay is provided only for the actual time of use of the aida’s test engine, and specifically € 0.49 per hour of running/active tests.
FLAT Rate subscription¶
The FLAT option of the aida payment plan provides for the unlimited use of all the functions of aida including those related to the execution of tests without requiring any payment on consumption. The FLAT plan has a cost of € 149 / month which includes unlimited use of the suite and its test engine.
Create user and manage groups¶
In Aida, the group is a grouping of actions that the user associated with that group can perform within the system. Basically the types of action that can be associated with a group are:
- View
- Add/Edit
- Delete
To define and manage groups in Aida, it is sufficient to use the Users and Groups-> Group Manager menu
Once you have access to group management from the main menu, the administration screen will show the list of active groups in the system:
Create a new group¶
To create a new group of users is sufficient, from the group management screen just opened select the “ADD GROUP” button, the mask to add a new group will appear:
- Name :Name that you want give to the new group (unique)
- Available permissions :Permissions that can be provided or denied on the various system tables
- Chosen permission :Permits that have been assigned to the group we are creating
Note
Within all Aida administration forms, there are three buttons to confirm the changes you want to make:
- Save and add another :It saves the data entered, and proposes the same cleaned mask in order to quickly perform a new data entry. (in some masks, once this option is selected, the system will re-propose some pre-filled fields to guarantee insertion speed)
- Save and continue editing :Save the entered data and re-propose the mask with the same data inside the various fields present before the saving
- SAVE :Save the entered data and return to the list of options previous to the current mask.
Manage an existing group¶
To go to manage an existing group, and sufficient, from the main group management page, select the group on which you intend to work, the following screen will appear:
The mask is similar to that for adding a new group seen before, with the difference that in the Chosen permissions section there are the previously assigned permissions.
Note
In all the editing templates of Aida there is the possibility to see the history of the changes made on the data that are being managed through the use of the ** HISTORY ** button located at the top right.
Create and manage user¶
Once the aida group (s) have been defined, it is possible to create one or more users to associate with that group through the User Management function from the Aida homescreen.
Create a new user¶
To create a new user in Aida, from the main user management mask, select the ** ADD USER + ** button
- Username: The username you want to assign to the user you are creating (unique)
- Password: The password for the user, must be complied following the indications regarding the requirements listed under this field
- Password confirmation: The same password entered previously
Manage an existing user¶
To manage an existing user whether it is a newly created user or a previously configured user, simply select the one you want to manage from the initial user management screen:
- Username: The selected User username
- Password: Raw passwords are not stored, so there is no way to see this user’s password
- Personal info
- First name: The first name of the user (optional)
- Last name: The last name for the user (optional)
- Email address: Email address for the user (used for password remember etc. etc.)
- Permissions
- Active: Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
- Staff status: Designates whether the user can log into this admin site.
- Superuser status: Designates that this user has all permissions without explicitly assigning them.
- Groups: Groups to which the user is associated by inheriting the permissions set
- User Permissions: It is possible to set individual permissions for the specific user outside those set for the group.
- Important dates
- Last login: Date and time of the last system login made by the selected user
- Date joined: Date and time when the user was created for the first time
Using Aida as a Test Suite¶
Aida is a test suite based on robotframework and selenium that allows you to perform almost any type of test on any environment you want. To test with Aida you must first create a template that can then be run by different users and with different values from the Aida testing engine.
Once logged in to the system, to go to configure a test you need to use the Templates Manager link from the main menu:
1-Main Templates¶
Once you have selected the step to be created for creating the template, you will be presented with the form containing the list of data present in that session, simply go to select the ADD .. button to add a new record or select a value existing to be able to manage it.
- Description: Template name that is being created
- Preconditions: The preconditions of this Project. You can reference other templates here
- Steps: The required steps to execute the template
- Expected Result: The expected result after executing the template
- Note: Additional information regarding the template you are going to create
- Active: Activate or Deactivate the template (Deactivated templates are not able to run)
Warning
- API Owner: User to the interaction rights will be assigned through API to the specific table. Only the selected user can manage API calls to that specific data
The “Clone this template” option allows you to make an exact copy of the entire structure of the selected template including variables, values, keys and settings. The new template will be shown in the list of system templates with the name of the original followed by _cloned.
Note
It is suggested, once the clone of an existing template has been made, to select the cloned template and change the name so that it is immediately understandable by the whole team.
2-Test Cases¶
The page dedicated to the creation / modification of the tet cases allows authirized users to create and associate all the test cases that you want to include to a main template.
By selecting an existing test case it’s possible to modify the data (Template id, description of the test case and API owner), while using the “ADD 2-TEST CASE” button it will be possible to insert a new test case.
3-Test Variables¶
The variable management mask allows to associate to the main template key / value associations that can be managed by the main test execution mask by the tester in charge
Note
These settings influence the display of the frontend side template and manage the possibility of inserting and modifying the values in execution of the test.
If you need to insert data that can not be modified during the test execution phase, these should not be inserted in this form.
The template for managing / inserting the variables provides for selecting the main template to which the data is to be linked, the name of the variable and any value (it is also possible to leave it null)
4-Test Settings¶
The settings management mask allows to associate to the main template almost all types of manageable libraries (Library, Documentation, Test Setup, Test Teardown, Suite Setup, Suite teardown, etc.)
Warning
When associating new libraries with your template make sure to enter the correct value in the “Value” field once Type Lybrary is specified. The add / edit mask shows at the bottom the list of libraries currently available for your work environment. An incorrect association of the value of a library can lead to errors in the execution of the test.
To add a new library just go to select the button on the upper right “ADD 4-TEST SETTING” and fill in the form with the data relative to the name of the main template, type and value of the library and eventual grouping of values if necessary
Note
The grouping function allows you to aggregate multiple values to a single type of data. If, for example, you want to create a Library-like setting with both “RequestsLibrary” and “Collections” values, simply add the line twice in the settings to indicate the same group.
5-Test Cases Main Chain¶
In this area it’s possible to connect test cases, variables and related values to each other. Unlike the Test Variables area, in this case the name / value association for the variable remains inside the template and is executed during the run of the test without being able to be modified by the tester at frontend.
Note
In this form it is possible to implement also for loops using the key ded: FOR as follows:

The result is a directive within the testcase that will be executed at each test run.

It is possible to add a new association or modify an existing one simply by setting the parameters related to main template, associated test case, key / value and eventual grouping in add or edit mask.
6-Keywords Link Chain¶
In this area it’s possible to link together standard keys with custom keys and associate values with them. This association will create the “Kewords” table in the test
For manage the insertion and modification of the data, it’s sufficient from the insertion or modification mask indicate the main template, the primary key and the sub-key to link, as well as the value to be associated.
Manage Aida frontend¶
Active¶
From the active processes management window it is possible to execute, monitor and manage the created templates and the public variables associated to them.
The window consists of the following main areas:
General elements
In this area it is possible to make the type of selection with regard to the tests to be performed, the possible choices are: -Single Template -Test Group -TAG Aggregation -Project Aggregation
Once selected the Test Type choice the test are will automatically filled according to the choice made in the preview section. Once an item has been selected, the description entered during the configuration phase will appear above the selection.
The Variables session appears as soon as the selection of the test / group to be launched is carried out and contains all those data/value keys defined in the design phase of the template in the “Test Variables” area.
Note
For each variable at the frontend it is possible to use three different types of data management:
Scalar: The value of the associated variable remains that for each test run
Random (Num): By inserting a range of numerical values in the format “<Minimum number> - <Maximum number>” each time the test is performed, the system will enter a random numerical value contained within the specified intervals.
Random (String): By entering the number of characters of which the string should be composed, the system automatically at each run cycle will insert a random string with the number of characters defined in the test
At the base of the section it is possible to go and schedule the repetitiveness of the execution; this can be set to:
Once: The test is performed only once
Every Minutes: specifying the value of the minutes of waiting between one execution and another the test is performed until the manual stop by the user every n minutes defined.
Every hour: No input value requested by the user; The test is performed until the user stops every hour starting from the first execution.
Every Day: By entering the time in the format HH: MM the test is repeated until the manual syop by the user at the same time every day.
![]()
System Load Chart
The system load management graph monitors the situation related to the activity on the central system in relation to the load of the your dedicated test engine.
Preview
The preview area allows you to view, once the template to be executed is selected, a representation of the test structure that will be created dynamically created by the template settings.
History¶
The management of the history in aida includes all the completed tests. From the summary table you can go to view all the information about the tests performed and their subchilds (in case of multiple executions). Selecting a column name automatically the whole table will be sorted by this value, first click ascending order, second one descending order. To return to original table view, simply order by ID (first column)
Selecting a line you will be able to see the details of the whole process.
Note
From the history process selection detail it is possible to assign a ticket to another user relative to the test run that is being selected. To do this it is sufficient to select from the orange drop-down menu the name of the user for which the ticket have to be assigned, the explanatory text and, selecting the + button, the note will be entered and assigned to the selected user.
If an email address was entered during the creation of the user, the system will send an email notification.
From this position it will be possible to view the HTML representation of the test performed using the “Test Structure” button, the log file of each execution using the “Log details” button, download the XML format for each run using “Download XML” link and the details of the variables and their values used during the test execution; In case the integration with Jira is active, it will be possible to send directly to a Jira Issue, the detail of test execution and the relative log created.
Libraries¶
Currently aida has implemented several libraries to implement test templates on practically most of the software / firmware aspects that can be tested. The aida’s built-in libraries allow to perform tests on different aspects such as:
- Web applications
- Mobile applications
- Different types of files
- FTP server
- HTTP Requests
- REST APIs
- SFTP applications
- TFTP services
- Third-party framework like Django
- Any GUI component
… and so on
The libraries currently installed in aida are:
It is possible to load custom libraries to be used inside your templates using the “Libraries” link in the lateral management menu or in the “Template Manager” through the “ADD” function next to “LIBRARIES”
Note
Currently only libraries written in python and packaged according to the python standard (https://packaging.python.org/tutorials/packaging-projects/) are accepted. The loaded libraries will remain in the PENDING state until they are approved by the aida control staff. Once approved, they can be incorporated into the templates.
Keywords¶
Keyswords are the basic concept of how aida works. The logic of creation and functionality of the templates is based on the concept of keywords driven execution.
Keywords within the aida system can be created and managed in two ways, as Personal keys and Non-personal keys. Basically the non-personal keys are intended as the built-in keys of standard libraries (all the keys of robotframework for example) while the personal keys are those inserted / created by the user. The big difference between these two types of keys is that the personal keys can be connected as sub keys to non-personal ones, but not the opposite.
Warning
This kind of behavior particularly affects the key / value association phase (See the topic “Keywords Link chain” https://aidadoc.readthedocs.io/en/latest/firstuse.html#keywords-link-chain)
To manage / add keys to aida it is sufficient to use the “Keywords” link in the main menu or through the “Template Manager”
To add or manage a keyword it is sufficient to select it or use the “ADD KEYWORD” button
By default the new keys are proposed as “Personal”, to change this setting is sufficient to flag the “Personal keyword” option
Note
It is possible to show the keyword in a “human” connotation at the moment of the selection for the creation of template simply modifying the description in the Human field.
Aida Assist¶
Aida Assist is the innovative interface of the aida project that allows you to import ad-hoc test templates from a Cathedral’s owner artificial intelligence engine that, by analyzing the use of the suite learns always with more precision what the habits about the user’s Test Strategies and creates templates ready to import and use / modify within your suite.
Using the magnifying glass located above each frame, you can go to see the template structure:
To directly import one or more templates into your environment it is sufficient to select the template and click on the “IMPORT THIS TEMPLATE” button. At this point the template and all its configuration will be present among your data, you can launch tests directly or go to change it as you see fit.
Advanced Usage¶
Integration with Jira¶
The aida suite integrates the ability to send the results of every single test finished to Jira, specifying the number of Issues to which you want to refer. To perform this operation it is sufficient to select the desired thread from the “History” mask, then every single execution (if the test has been performed repeatedly), if the Jira configuration has been set, it will be possible to connect the data between the two systems.
To ensure that the ability to send data to Jira is activated, it is necessary to specify the connection parameters to your Jira server from the “Template Manager” by selecting the “JIRA SETTINGS” option.
The Project Template link¶
Through the use of the Project Template link it is possible to group templates in specific projects in order to be able to execute several templates simultaneously by selecting the relative project.
To manage the Templates / Projects association, select the “PROJECT TEMPLATE LINK” link in the Template Manager
To associate an existing Template with a project it is necessary to use the selection areas from the add / modify mask. If no project is present or if it is necessary to create a new one, it is sufficient to use the “+” button next to the “Proj ID” area
Project Manager¶
Through the use of the “Projrct Manager” function it is possible to create projects containers, associating management parameters with them. To create a new project, select the “PROJECTS MANAGER” menu from the Template Manager.
Using the function of adding or modifying a project, the fields of the mask will be displayed. Through this page it will be possible, besides giving the project name, to add any notes, add actors to the project and define a date and a closing time of the project itself.
Note
The project will be visible and usable to perform the tests contained until the stop date. Once finished, it will no longer be possible to select this project to run the tests contained in it.
The TAGS Templates Link¶
Aida allows the use of TAGs to identify, grouping and execute bunch of different templates at the same time.
To create the TAG / Templates association, open the “TAGS TEMPLATES LINK” link from the template manager
In the edit / insert management mask it is possible to associate a template with a specific TAG, to do this select the Template in the Main Id field and the tag in Tag Id option.
Note
The main difference between the project / template association and the TAG / template association lies in the fact that the former refers to a project with its own life cycle while the latter is a bookmark of one or more groups of templates.
Test Group Manager¶
A more complex way of managing the test groups is that linked to the function called “TEST GROUP MANAGER”, accessible through the Template Manager mask
Through the use of the group creation / modification mask it is possible to associate a priority to it so that, in the case of launches of several concurrent groupings, those with lower priority obtain the precedence of execution on the others at the resource allocation level of the test engine.
Test Group Item¶
After creating the group, it is necessary to associate the templates that you want to run together
Note
When you insert a template within a group it is possible to define the order of execution of each one of it. Templates with lower priority will be executed first, in order of priority. In case of equal priority level the templates will be executed in order of insertion.
API Documentation¶
Aida integrates the ability to interact with its database through API interface. Using methods calls like GET, POST, DELETE, PUT, it is possible to interface with external programs or to perform extractions, insertions, table updates directly from code.
Using the link in the main menu “Schema API” it will be possible to display the page relative to the published schema of the aida tables, the manageable fields and their type and methods.
Warning
Methods such as INSERT, DELETE, PUT make table changes without requiring confirmation. The use of this type of interaction should only be used in cases where it is absolutely safe not to cause damage to the entire system, incorrect use could lead to the impossibility of using aida with the consequent risk of irreversible data loss.
Here an example of a GET call from a GUI tools (postman) to the template description table
A python GET call example for reteive the same data and manage its as a json object.
import requests
# api-endpoint
URL = "http://demo.myaida.io/temp_mainapi/"
# param defined here
user_name = "demo"
pass = "xxxxxxx"
# defining a params dict for the parameters to be sent to the API
PARAMS = {'username':user_name, 'password':pass}
# sending get request and saving the response as response object
r = requests.get(url = URL, params = PARAMS)
# extracting data in json format
data = r.json()
and with Java:
String urlString = "http://demo.myaida.io/temp_mainapi/?username=demo&password=xxxxx....";
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
InputStream is = conn.getInputStream();
// Do what you want with that stream
In this way you can carry out any type of operation on every Aida table from external programs or sources, allowing you to interface virtually any application to your test suite.
List of browseable tables¶
temp_main¶
Table containing the basic configuration data of the template such as name, notes, etc.
# api-endpoint
URL = "<your aida address>/temp_mainapi/"
temp_case¶
Table containing all the test cases defined in aida and their association with the template.
Note
Foreign keyword in table:
main_id -> temp_main.id
# api-endpoint
URL = "<your aida address>/temp_caseapi/"
temp_keywords¶
Table containing all the keywords defined at the level of the aida system for the creation of test cases; among the various fields are the name of the key, its most “human” definition and whether it is a standard or customized key
# api-endpoint
URL = "<your aida address>/temp_keywordsapi/"
temp_variables¶
Table for mapping the key / value association with the defined variables and their connection to the main template
Note
Foreign keyword in table:
main_id -> temp_main.id
# api-endpoint
URL = "<your aida address>/temp_variablesapi/"
temp_pers_keywords¶
Table that keeps the memory relatively the association of several keywords between them so as to be able to create complex “Keywords” sections of the test
Note
Foreign keyword in table:
main_id -> temp_main.id
standard_id -> temp_keywords.id
pers_id -> temp_keywords.id
# api-endpoint
URL = "<your aida address>/temp_pers_keywordsapi/"
temp_test_keywords¶
Table containing the data for the creation of the internal structure of the Test Case, a value / key grouping for each template
Note
Foreign keyword in table:
main_id -> temp_main.id
test_id -> temp_case.id
key_id -> temp_keywords.id
# api-endpoint
URL = "<your aida address>/temp_test_keywordsapi/"
temp_library¶
Table containing all the data entered in the Test settings session, includes type of setting (Library, Resource, Test setup, Test Teardown, etc.), the value and the associated template.
Note
Foreign keyword in table:
main_id -> temp_main.id
# api-endpoint
URL = "<your aida address>/temp_libraryapi/"
t_group¶
Table containing data relating to the test groups created.
# api-endpoint
URL = "<your aida address>/t_groupapi/"
t_group_test¶
Table containing the group template association
Note
Foreign keyword in table:
id_grp -> t_group.id
id_temp -> temp_main.id
# api-endpoint
URL = "<your aida address>/t_group_testapi/"
t_history¶
One of the main tables contains all the data relating to the execution of the tests, including the outputs in the xml and html formats of the results.
Note
Foreign keyword in table:
test_main -> temp_main.id
group_id -> t_group.id
# api-endpoint
URL = "<your aida address>/t_historyapi/"
t_threads¶
Contains all the data relating to the threads that have been executed or are still running. Combined with the t_history table, it provides a complete overview of each test run process
Note
Foreign keyword in table:
id_test -> t_history.id
# api-endpoint
URL = "<your aida address>/t_threadsapi/"
t_tags¶
Table containing all user-defined tags
# api-endpoint
URL = "<your aida address>/t_tagsapi/"
t_tags_route¶
Table showing the Tag / Templates association
Note
Foreign keyword in table:
main_id -> temp_main.id
tag_id -> t_tags.id
# api-endpoint
URL = "<your aida address>/t_tags_routeapi/"
Support¶
Aida support is carried out by a dedicated team inside cathedral (cathedral.ai), selected and highly specialized in the use of the product and in the field of QA and testing in general. The three main channels to open and manage a report or request information regarding the aida suite are:
- By pone
- By Email
- Using the personal realtime aida assistant
Contacting aida’s team by phone¶
You can contact every day, 24 hours aida team using the phone number 0039-030-7778742 and leaving your message on the answering machine, including contact details about where possible to re-contact you.
As soon as one of our operators takes charge of your request, he will contact you back.
Note
The Aida’s help desk office is located in Italy, the national or international call to this country could have a high cost if not supported by your telephone operator.
Email support¶
It is also possible to contact aida technical assistance through the email address 4u@cathedral.ai. Your report will be handled by our dedicated staff who will contact you as soon as possible.
Using the personal realtime aida assistant¶
Aida’s personal virtual assistance is the most complete and immediate assistance / consultancy tool. Within each aida environment there is a link located at the bottom right
through which you can interact in real-time h24 with a dedicated consultant specialized in the aida’s use and management for:
- Request information regarding the use of aida
- Request check and management in the process of creating / managing templates
- Report any malfunctions
- Request commercial assistance
Through the use of the virtual assistant, the dedicated staff of aida will be able to assist you by interacting directly with your aida environment in real time; this tool is included in all commercial plans.
Something About Aida¶
Aida ATM (Automation Test Suite) allows you to create, manage, plan and perform independently any type of test on any type of software / firmware.. A vital feature for every business in every industrial sector.
Aida offers a native integration with roboframework and selenium, it uses a fast and intuitive graphic interface for the creation of its test templates and allows the importation of any existing .robot files inside the suite. In addition, the “Standalone” version allows you to write and import custom test libraries into Aida and integrate them automatically with the entire process.
The main advantages of using Aida are:
- Management of the Testset as template; possibility of multiple launches contemporary with different variables
- Quick and intuitive template writing
- Integration with every type of python library
- Reporting and analysis in real time
- Integration with AI algorithms for anticipated prediction of the tests results