Now JMeter hasn't sampler for execute command on remote server, but it has beanshell & beanshell framework which can everything what can program languages like Java, Jpython&Jython, Javascript, Perl, Groovy, Ruby, Prolog, VBScript, XSLT, etc.
Below described how with ssh library Ganymed SSH-2 for Java we can write java code, which execute for us command on remote server.
It library you can download from http://code.google.com/p/ganymed-ssh-2/ and should put into JMeter\lib directory.
Below described how with ssh library Ganymed SSH-2 for Java we can write java code, which execute for us command on remote server.
It library you can download from http://code.google.com/p/ganymed-ssh-2/ and should put into JMeter\lib directory.
PS Don't forget check exit code and set IsSuccess constant in accordance with it!!!
import java.io.*;import java.util.*;import ch.ethz.ssh2.*;String hostname = "server";String username = login;String password = password;String command = "uname -a";// Connect to the serverconnection = new Connection( hostname );connection.connect();// Authenticateconnection.authenticateWithPassword( username, password );// Open a sessionSession session = connection.openSession();// Execute the commandsession.execCommand( command );// Read the resultsStringBuilder sbOut = new StringBuilder();StringBuilder sbErr = new StringBuilder();InputStream stdOut = new StreamGobbler( session.getStdout() );InputStream stdErr = new StreamGobbler( session.getStderr() );BufferedReader brOut = new BufferedReader(new InputStreamReader(stdOut));BufferedReader brErr = new BufferedReader(new InputStreamReader(stdErr));String lineOut = brOut.readLine();String lineErr = brErr.readLine();while( lineOut != null ){sbOut.append( lineOut + "\n" );lineOut = brOut.readLine();}while( lineErr != null ){sbErr.append( lineErr + "\n" );lineErr = brErr.readLine();}// Close the sessionsession.close();// Logout from the serverconnection.close();//Check exit code from shellif (session.getExitStatus() == 0){//Set beanshell statusIsSuccess = true;// Return stdoutreturn sbOut.toString();}else{//Set beanshell statusIsSuccess = false;// Return stderrreturn sbErr.toString();}