Setting Up and Using ExtraPutty for SSH Communication in TestStand

Updated Sep 8, 2022



  • TestStand

ExtraPuTTY is an open source extension of the Putty SSH client. Added features include session management, DLL interfacing, and TestStand integration. This tutorial walks through the installation and the setup for TestStand Integration with ExtraPuTTY. ExtraPuTTY uses a 32-bit C DLL and therefore requires TestStand 32-bit. If you are using TestStand 64-bit, you can launch a remote execution using 32-bit TestStand to use ExtraPuTTY. See TestStand Help: Remote Execution in 32-bit TestStand and 64-bit TestStand .

Installation and Setup of ExtraPuTTY

  1. Download and run the latest installer. The latest version is compiled with putty 0.67.
  2. In the "Choose Components" page, check the option for TestStand steps. They are not selected by default. 
  3. After choosing the installation directory for ExtraPuTTY, you will see a prompt to choose the TestStand Install folder. Navigate to the TestStand directory, for example - C:\Program Files (x86)\National Instruments\TestStand 2016
  4. Once the installation is completed, navigate to the TestStand directory which you chose as the installation folder. Go to <TestStand>\Components\TypePalettes and open Install_ExtraPuTTY.ini. 
  5. In a text editor, modify each mention of the or version of TestStand to the TestStand version you are using. For example, if you are using TestStand 2016, change and to 16.0. Note: This requires administrator privileges.
  6. Launch TestStand with administrator privileges. If you do not run with administrator privileges, you will get an error that states that the Sequence Editor "Could not copy '<TestStand>\Components\TypePalettes\Install_ExtraPuTTY.ini' to '<TestStand>\Components\TypePalettes\ExtraPuTTY.ini'. Run the Sequence Editor with administrator privileges to mitigate this error. 
  7. When the Sequence Editor launches, you may see a Type Conflicts dialogue. It is recommended that you select the Use Currently Loaded Type.
  8. In the Insertion Palette, the folder, "ExtraPuTTY." should be added at the top. 

Communication with the DUT

  1. To communicate with the device, you will need to initialize the connection. Navigate to the "Session Configuration" folder and insert the Initialize Connection step. In the Module tab in the Step Settings window. Here you can edit the connection settings as follows:
    • TargetName: The IP address or domain name of the device to connect to.
    • ConnectionId : Unsigned long - it must be an integer greater than 0. 
    • Login: The username for the remote device.
    • Password: The password for that user.
    • ShowPuTTY: Enter either True or False to show the Putty terminal window on this machine.
    • Protocol: The Internet protocol to use for the connection. 1 for SSH.
    • PortNumber: The port number to connect on.
    • All other values can be left as default and changed if necessary. 
  2. After the connection has been established, a Send-Received Data step in the "Session Management" folder is used to retrieve information from the DUT. Configure the step as follows: 
    • ConnectionId: The ID you gave the connection in Initialize Connection step. 
    • Command: The command you want to execute on the device.
    • TimeCapture: The time, in seconds, to wait for receiving data back after the command is sent.
    • DataRcv: variable to store the data received from the client after the command is sent. The default value is Step.Result.DataReceived.
  3. After the sequence has executed, or you want to terminate the connection, use the appropriate steps from the "Close" folder in the "Session Management" folder to terminate the connection or any open connections.