Xena Networks - Xena OpenAutomation (XOA)
Xena OpenAutomation (XOA) is an open-source test automation framework for use with all Xena solutions.
Fast, easy to use and extremely flexible, XOA features a Python API that runs on any OS. You can use XOA in whichever way suits your test needs.
There are three main options:
- Use XOA CLI or XOA Python API to add Xena test equipment to your existing test automation setup.
- Use XOA CLI or XOA Python API to add Xena testers and run Xena test suites via your existing test automation setup.
- Use XOA to automate all your Ethernet testing.
XOA CLI
The XOA CLI provides an intuitive set of text-based commands that lets you control and integrate Xena’s Ethernet TGA and network emulation solutions for easy test automation.
XenaManager conveniently stores test port configurations (.xpc file) in the XOA CLI format, facilitating smooth transitions between a XenaManager environment and a XOA CLI environment. This compatibility ensures seamless interchangeability and user-friendly experience.
To establish a TCP/IP connection and send CLI commands as lines of text, any client platform can be utilized. Popular client platforms include Tcl, Perl, Python, BASH, Ruby, and Java. Multiple concurrent scripting sessions are supported by all Xena chassis, allowing different users to collaborate on the same Xena chassis simultaneously.
XOA CLI Example Library:
XOA Python API
The XOA Python API is a complete and open-source solution that enables users to communicate with Xena’s Ethernet TGA and impairment test equipment in a user-friendly manner.
Key Features
- Seamless integration with XOA CLI and XenaManager: XOA Python API works in harmony with XOA CLI and XenaManager to provide a comprehensive and flexible testing solution.
- Objected-oriented, high-level abstraction: XOA Python API leverages an object-oriented approach, providing a higher level of abstraction that accelerates the development of automation scripts.
- IDE auto-complete, built-in manual: XOA Python API includes features such as IDE auto-complete and a built-in manual for classes, functions, and APIs, which significantly enhance development efficiency.
- Command grouping and response auto matching: This feature optimizes test execution efficiency by allowing for command grouping and automatic matching of responses.
- Server-to-client push notification subscription: XOA Python API supports server-to-client push notification subscriptions, reducing the complexity of user code.
- Support Python 3.8 and higher: XOA Python API is compatible with Python 3.8 and higher versions, ensuring compatibility with modern Python environments.
XOA Python Test Suite
The XOA Python Test Suite, which include XOA Core and test suite plugins, is a comprehensive Python framework designed to offer developers and test specialists well-defined APIs. These APIs enable seamless execution and integration of Xena’s test suites, while also facilitating efficient management of Xena’s Ethernet TGA and impairment test equipment. With XOA Python Test Suites, developers and test specialists can easily harness the power of Xena’s test suites and effectively handle the configuration and control of the testing equipment.
Currently, XOA Python Test Suite includes:
- RFC2544
- RFC2889
- RFC3918
Future test suites will also be included under the XOA framework. Learn More
Xena Test Suite Desktop Applications
Xena Test Suite Desktop Applications (for Windows) include automated test suites to conduct RFC 2544, Y.1564, RFC 2889 and RFC 3918 testing.
Xena2544 provides comprehensive support for all four test types specified in RFC2544. It also offers the flexibility to selectively enable one or more test types based on your requirements. Xena2544 accommodates various network topologies and supports traffic flow in both Layer 2 and Layer 3, catering to both IPv4 and IPv6 protocols.
Xena2889 is designed for performance benchmarking of Layer 2 LAN switches, aligning with the guidelines outlined in RFC 2889. It offers a comprehensive test suite, excluding the “Dribble Bit Errors” and “Alignment Errors” tests specified in the RFC. Xena2889 provides a valuable tool for assessing and measuring the performance of Layer 2 LAN switches in a convenient and efficient manner.
Xena3918 serves as a valuable tool for conducting RFC3918 IP Multicast Benchmarking testing with one or multiple Xena test chassis. With Xena3918, users gain access to an intuitive port configuration panel that simplifies the process of adding or removing ports, as well as assigning IP addresses and port roles.
Xena1564 is a feature-rich application that offers comprehensive support for both the configuration and performance test types defined in Y.1564 for Ethernet Service Validation. The intuitive graphical user interface provided by Xena1564 simplifies the process of connecting one or more Xena chassis for conducting Layer 2 and Layer 3 tests. This user-friendly interface enhances the testing experience, allowing for efficient and accurate configuration and performance assessment.
XOA ANLT Utility
The XOA ANLT Utility offers an interactive shell that enables users to manage Z800 Freya test modules through a command-line interface. This makes it easy to do Auto-Negotiation (AN) and Link Training (LT) testing, while also providing valuable visibility into AN/LT protocols.
XOA Converter
Want to quickly migrate existing Xena test suite configurations into XOA? Try the XOA Converter tool.
Previously, Xena’s test suite applications were solely compatible with MS Windows. However, going forward, all existing and future test suites will be incorporated into the XOA Python Test Suite, eliminating this limitation.
To simplify the transition, the XOA Converter lets you seamlessly migrate your existing Xena test suite configurations (Xena2544, Xena2889, and Xena3918) from the Xena window desktop application into XOA Python Test Suites. With the XOA Converter, the migration process becomes effortless and hassle-free.
Source Code
GitHub is our preferred platform for hosting the XOA source code due to its outstanding capabilities in version control and collaboration. It provides an excellent environment for managing code changes, ensuring that the project’s history is well-documented and accessible. We embrace openness and encourage everyone to use, share, contribute, and provide feedback on our source code. GitHub allows for seamless collaboration and fosters a community-driven approach where individuals can actively participate in the development and improvement of XOA. We value the input and contributions from the community, as it enhances the overall quality and innovation of the source code.
- XOA Python API Source Code
- XOA Python Test Suite – Core Source Code
- XOA Python Test Suite – Plugin Source Code
- XOA ANLT Utility Source Code
- XOA Converter Source Code
XOA Documentation
To help you get going with XOA, we provide comprehensive documentation explaining how it works and what you should do next.