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:

Cathedral.ai logo

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

Aida homepage

Once you have access to group management from the main menu, the administration screen will show the list of active groups in the system:

Aida groups

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:

Aida groups
  • 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:

Aida groups

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

Aida groups
Aida groups
  • 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:

Aida groups
  • 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.)
Aida groups
  • 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.
Aida groups
  • 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:

Aida login page

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.

Aida Main Template page
Aida Main Template page
  • 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.

Aida test cases

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

Aida test variables

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.

Aida test variables

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)

Aida test variables

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.)

Aida test settings

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.

Aida test settings

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

Aida test settings

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.

Aida test settings

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.

Aida test settings

Note

In this form it is possible to implement also for loops using the key ded: FOR as follows:

_images/for_set.png

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

_images/for_black.png

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.

Aida test settings

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.

Aida test keywords

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.

_images/active_general.png

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.

Aida test keywords

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.

Aida test preview

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)

Aida test history

Selecting a line you will be able to see the details of the whole process.

Aida test history

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:

Aida libraries

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”

Aida 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”

Aida keywords

To add or manage a keyword it is sufficient to select it or use the “ADD KEYWORD” button

Aida keywords

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.

Aida test history

Using the magnifying glass located above each frame, you can go to see the template structure:

Aida test history

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.

Aida test keywords

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.

Aida test keywords

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.

Aida test keywords

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.

Aida test keywords

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.

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

Aida test keywords

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.

Aida test keywords

Test Group Item

After creating the group, it is necessary to associate the templates that you want to run together

Aida test keywords

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.

Aida test keywords

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.

Aida test keywords

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

Aida test keywords

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

Aida virtual assistant

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