Lloyd Serra
Ixia Senior Product Manager

Automating Network Impairment Testing

November 17, 2017 by Lloyd Serra


Automation is a key element of any effective testing product and critical for efficient regression testing.  The Network Emulator II implements an effective automation feature through the use of a RestFUL API.  The RestFUL API has emerged as one of the most efficient methods of providing automation capabilities and allows the user to choose his scripting language such as TCL or Python. Implementations using only TCL often suffer from feature gaps since the TCL interface does not implement the whole graphical user interface (GUI) feature set. The Network Emulator II GUI interface is built upon the RestFUL API, which ensures all GUI features are available for automation. 

Every object and action accessible via the API is identified by a specific URL, and actions are performed using the four HTTP methods: POST, GET, PUT, and DELETE. HTTP status codes are used to inform the client of the result of a request.

Configuring and querying the test ports, or the port pairs or banks containing them, will most commonly be done using the PUT and GET methods, respectively. A GET on an object will return the entire configuration of that object, but a PUT only requires the parameters that the user wishes to change or reapply. The scripting API will treat each PUT as a single operation, so the parameters supplied will be set atomically and by programming only the minimum number of subsystems required.

For example, if you want to change the BER on a port in FC mode, only the BER JSON object should be sent in the PUT request. This will prevent other impairments, such as delay, from being reprogrammed, as delay will cause a traffic hit. All values in the PUT request are programmed, even if they are the same as the previously applied value.

For more information on Ixia’s automation environment, see the Introduction to IxNetwork REST API.