gpt4 book ai didi

jmeter - 从 jmeter 启动 aws cli 命令

转载 作者:行者123 更新时间:2023-12-02 16:42:24 25 4
gpt4 key购买 nike

我正在尝试使用 OS Process Sampler在 JMeter 中运行 aws cli 命令。我将在安装了 JMeter 和 aws cli 的 docker 上运行它。但在此之前,我尝试在我的 Mac 上本地运行它,但到目前为止无法运行 aws 命令。

例如,在我的本地终端上我可以运行:A。 aws--版本b. bash j.sh (aws --version)两者都返回 aws-cli/2.0.8 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0dev12

这确认 aws cli 在可全局访问的路径中可用。

但是,当我从 OS Process sampler 运行相同的命令时,我尝试了以下操作:A。

Working Directory: /Users/tester/Downloads/apache-jmeter-5.1.1/bin
Environment: {}
Executing: bash aws --version

enter image description here

响应:bash:aws --version:没有这样的文件或目录

Working Directory: /Users/tester
Environment: {}
Executing: bash j.sh
where j.sh just contains the aws --version command

enter image description here

响应:j.sh:第 1 行:aws:找不到命令

我错过了什么?

最佳答案

感谢 Dmitri 和 Vadim 对我的问题的答复。不幸的是,这两个示例都是针对 Windows 的,其中 OS Process sampler 的工作方式与 Mac 不同。我也在 Mac 上使用 OS Process Sampler 进行了一些调整,使其能够正常工作:

enter image description here

Mac 的主要区别在于 jmeter 需要安装 aws cli 的位置

/usr/local/bin/aws

我是通过哪个命令找到的

which aws

我还决定使用 Beanshell 采样器和日志记录来执行此操作,这将使我能够编写脚本并更好地控制我的其他需求。这是我的引用代码:

try {

Process p = Runtime.getRuntime().exec("/usr/local/bin/aws --version");
p.waitFor();


BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuilder logCommandOutput = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
logCommandOutput.append(line);
} in .close();
log.info("Output: " + logCommandOutput.toString());
} catch (Exception e) {
log.error("exception" + e);

}

希望这对正在尝试做同样事情的人有所帮助。

关于jmeter - 从 jmeter 启动 aws cli 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61356605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com