如何从APACHE JMETER
执行Linux命令或shell脚本有谁知道如何从Jmeter执行linux命令? 我在网上找到了这个链接http://www.technix.in/execute-linux-command-shell-script-apache-jmeter/,我尝试了这些步骤,但是没有用。我无法看到SSH采样器。 如果有人从Jmeter运行shell脚本取得任何成功,请分享。 提前致谢
答案 0 :(得分:0)
看一下为此完成的OS Process Sampler,并在核心中提供:
答案 1 :(得分:0)
如果需要在远程系统上执行命令,请执行以下步骤:
您还可以参考以下代码段,该代码段在远程* nix系统上执行ls
命令并返回命令执行结果。请确保您提供有效的username
,hostname
和password
,以便采样器可以正常工作
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
JSch jSch = new JSch();
Session session = jSch.getSession("username", "hostname", 22);
session.setConfig("StrictHostKeyChecking", "no");
session.setPassword("password");
session.connect();
Channel channel = session.openChannel("exec");
String command = "ls";
((ChannelExec) channel).setCommand(command);
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
StringBuilder rv = new StringBuilder();
rv.append("New system date: ");
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp, 0, 1024);
if (i < 0) break;
rv.append(new String(tmp, 0, i));
}
if (channel.isClosed()) {
break;
}
try {
Thread.sleep(100);
} catch (Exception ee) {
ee.printStackTrace();
}
}
in.close();
channel.disconnect();
session.disconnect();
SampleResult.setResponseData(rv.toString().getBytes());
有关Groovy脚本引擎安装和最佳脚本实践的详细信息,请参阅Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For!。
答案 2 :(得分:0)
你可以在jmeter里面使用Beanshell脚本,那么你可以有类似的东西:
[3L, 4L, 9L, 13L, 53L, 53L, 102L, 111L, 111L, 111L, 111L]
答案 3 :(得分:0)
看here 关于执行jar文件的答案。但对其他OS命令也一样。