Programmatically start a test in 5 easy steps

MultiDSLA's programmable API ("Remote Access") helps you to script everyday functionality to make repetitive tasks easier or to integrate MultiDSLA into a larger test system. This article demonstrates how to start a test between two nodes and then collect results when the test is completed.

The first step is to connect to the MultiDSLA remote command interface. The command interface is provided over a TCP/IP socket interface so you can control MultiDSLA from an application running on the same PC as MultiDSLA or another networked PC. For demo purposes a telnet client is a convenient way to connect to MultiDSLA. By default MultiDSLA listens for connections on port 6015 - but this can be changed in the System Settings > General > External Access Options dialog.

Once connected, the first thing to do is issue a logon command. If you have user accounts enabled you need to logon with an appropriate account, otherwise simply issuing a logon command is enough.

> logon
OK

Now we can start a test. The syntax is: test start <tasklist> <fromNode> < toNode>. For any parameter that contains white-space enclose the parameter in quotes. Submit the command. A testID number will be returned if the test is started correctly. The <tasklist> parameter is the path of the tasklist to run, either relative to the working directory, or the full path name on the system.

> test start “british\quickqualitychk.mtl” “dsla 1” “dsla 2”
456

We can check the progress of the running test using the returned testID.

> test getprogress 456
RUNNING
> test getprogress 456
FINISHED

We can extract results when the test is finished. This will return an xml formatted result.

> result gettestsummary 456

These are just a few of the commands available in Remote Access. The full API document is installed with the MultiDSLA software and can be accessed via the Windows Start menu. Specific language support for TCL, Python and Perl is included while support for other languages such as C++, C# & Java is supplied via the generic sockets interface.