APIs for Test Automation and Remote Access
Welcome to another issue of GL Communications' Newsletter providing information and insight into Test Automation and Remote Testing through “API Support for PacketExpert™ Platforms”. This capability has wide ranging applications for Ethernet/IP Testing over 1 Gbps, and 10 Gbps networks.
PacketExpert™ finds use in testing a wide range of networks – from testing individual links/switches, testing local Ethernet/IP networks (LAN), end-to-end testing of Wide Area Networks (WAN), testing Core/MPLS networks, validate Service Level Agreements (SLAs) and much more. It’s available in different form factors – from Rack based High density 12-port/24-port mTOP™ platform, Portable units, and Tablet-based units.
The PacketExpert™ provides access to all functionalities listed below remotely using Command Line Interface (CLI) and APIs through various clients such as C#, Python, and TCL.
- Wirespeed BERT
- Smart Loopback
- RFC2544 Tests (Throughput, Latency, Back-to-Back, Frame Loss)
- Packet Capture and Replay
- Packet Broker (Tap-Filter-Aggregate-Modify-Output)
- WAN Link Emulation
- Multi-stream Traffic Generation and Analysis
- ExpertTCP™ (RFC6349)
- ExpertSAM™ (ITU-T Y.1564)
PacketExpert™ can be configured as server-side application using the GL’s MAPS™ CLI Client/Server architecture. The advantage of such communication enables user to control PacketExpert™ by sending commands and receiving responses in a compiled/scripting language such as C#, Python, and TCL that is already familiar with many users.
- Control of Bert, Loopback, RFC 2544, Record Playback, IPLinkSim™, PacketBroker, and ExpertSAM™ testing
- Capability of remote operation, automation, and multi-site connectivity
- MAC, VLAN, MPLS, IP and UDP layers testing
- Multiple PacketExpert™ devices can be controlled remotely from single client application.
Working Principle of MAPS™ CLI
GL’s MAPS™ CLI Client/Server platform supports various client libraries in different languages, so that users can make use of these different libraries to talk to the MAPS server, and achieve automation using their language of choice. However, these are relatively low-level libraries, which gives users a very fine grain control, but also requires users to put in a bit more effort to program with it.
For PacketExpert platform, a set of relatively High-Level APIs have been developed on top of the MAPS Client library, which greatly reduces the time to develop sample applications and achieve automation. These APIs are developed in the respective languages and are easy to use and intuitive. Eg: C# APIs are provided by means of API classes for each application. Similarly, Python APIs are provided through API scripts that implement API classes for different applications. Also supplied are sample applications, that users can go through to come up to speed on how to use the APIs. Using these high-level APIs and sample applications, users can start developing automated testing in a very short period.
C#, Python, and TCL Client APIs
Controlling PacketExpert™ Devices using Python and C# clients
In addition to existing TCL APIs, GL is now offering C# and Python APIs for all functionalities of PacketExpert™. Python Client consists of python API scripts, that provide High Level APIs, using which all the PacketExpert functionalities are exposed to users. These APIs in turn use a low-level library to communicate with the PacketExpert MAPS™ server.
At the core, PacketExpert™ will run the MAPS™ CLI Server, which can interface with PacketExpert™ low level API to control the hardware. There will be different MAPS™ scripts to implement different applications. Using the PacketExpert™ Low level APIs, the MAPS™ scripts (GL’s proprietary *.gls scripts) can control any number of PacketExpert™ hardware units connected to the system.
Controlling PacketExpert™ Devices using TCL clientTCL scripting interface allow users to control all features of PacketExpert™ through TCL scripts or by directly entering the command into the TCL shell. The TCL scripting interface is implemented based on a client-server model. The TCL client connects to the MAPS™ CLI server using TCP/IP sockets. The MAPS™ CLI server interfaces with the PacketExpert™ hardware. Using the PacketExpert™ Low level APIs, the MAPS™ scripts can control any number of PacketExpert™ hardware units connected to the system.