Xena Open Automation framework for developing and integrating test suites.
Project description
Xena OpenAutomation Core
Xena OpenAutomation (XOA) Core is the framework for managing testing resources and executing of different test suites.
Framework Architecture
Description
The XOA Core is an asynchronous Python library which can be represented by 4 subparts:
- Resources Management System
- Test Suite Function Factory
- Test Suite Plugin System
- Test Execution System
1. Resources Management System
The key functionality is represented in managing and monitoring the state of known testing resources. Under the hood is uses instance of the xmp-truck library as an representation of the resource.
Note: XOA Python API library (PyPi package name
xoa_driver
) is treated as a 3rd party dependency, whose source code is not included in to XOA Core.
Use Case Description
- Test resources monitoring - a pool of reserved tester credentials
- Add - attach new tester information in to inventory.
- Remove - remove an tester information from the inventory, disconnect and pop resource from the stack of the resources.
- Retrieve list - get a list of all testers from database and extend it with values from serialized connected testers.
- Retrieve connection credentials of an connected tester.
- Update connection configurations
Examples
Example of data retrieved from UI
{
"host": "192.168.1.199", # tester ip
"port": 22606, # tester port
"password": "xena", # tester logon password
"ss_host_id": "xxxxxx" # SessionHost identifier
}
Example of data passed for add new tester
{
"host": "192.168.1.199", # tester ip
"port": 22606, # tester port
"password": "xena", # tester logon password
}
Example of data after connection established
{
"idx": 1,
"name": "Valkyrie Tester",
"comment": "L23 live demo",
"host": "192.168.1.199", # tester ip
"port": 22606, # tester port
"password": "xena", # tester logon password
"modules": [
{
"name": "Odin-10G-5S-6P-CU",
"reserved_by": "",
"ports": [
{
"id": "P-0-0-0",
"name": "10GBASE-T",
"reserved_by": "MrCrab",
"sync_status": True,
"work_status": False
},
{
"id": "P-0-0-1",
"name": "10GBASE-T",
"reserved_by": "Bob",
"sync_status": True,
"work_status": True
}
]
},
{
"name": "Odin-10G-5S-6P-CU",
"reserved_by": "",
"ports": [
{
"id": "P-0-1-0",
"name": "10GBASE-T",
"reserved_by": "MrCrab",
"sync_status": True,
"work_status": False
},
{
"id": "P-0-1-1",
"name": "10GBASE-T",
"reserved_by": "",
"sync_status": True,
"work_status": False
}
]
},
]
}
Example of data after tester disconnection
{
"idx": 1,
"name": "Valkyrie Tester",
"comment": "L23 live demo",
"host": "192.168.1.199", # tester ip
"port": 22606, # tester port
"password": "xena", # tester logon password
"modules": []
}
2. Test Suit Function Factory
3. Test Suit Plugin System
4. Test execution System
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.