jmeter - 从 jmeter 启动 aws cli 命令

标签 jmeter aws-cli

我正在尝试使用 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/

相关文章:

javascript - 如何在 Jmeter 的 Javascript 中实现鼠标悬停事件?

java - Solr 性能基准测试(3.6 版与 5.2 版)

jmeter - 如何开始使用jmeter进行Web服务测试?

linux - 使用 AWS CLI 进行 Bash - 无法找到凭证

pip - 由于(看似)循环依赖性,无法通过 Pip 安装 AWS 客户端

bash - 如何从 aws s3 sync 命令中排除文件夹

javascript - 如何从 JMeter 调用外部 JavaScript 文件方法

c# - 对网站进行负载测试

amazon-web-services - 使用 aws cli 获取最新的 Windows 2012R2 基础 AMI ID?

amazon-web-services - AWS CLI - 获取名称以字符串开头的所有 CloudFormation 堆栈