使用安装在 linux VM 上的 Jmeter 执行一系列 linux 命令时出现问题

Issue in executing a sequence of linux commands using Jmeter installed on a linux VM

希望你一切顺利。

我正在接触社区,因为我目前遇到了使用 jmeter 从 linux 机器执行一系列命令的问题。

一些背景知识:-

我有一个外部 VM,用于模拟将文件传输到各种入站通道。 这个虚拟机基本上充当第三方托管文件,然后通过一系列命令将文件传输到不同的位置

我试图执行以模仿第三方的命令序列如下

  1. ls(列出主目录中的文件)

  2. mv test123.txt test456.txt(这会将主目录中的文件从 test123.txt 重命名为 test456.txt)

然后我们使用下面的命令连接到文件交换服务器

  1. sftp -P 24033 testuser@test-perf.XYZ.com
  2. 密码是test@123456

连接后我们执行下面的序列

  1. ls(这将列出 Inbound 或 Route 文件夹)
  2. CD Route(将 Dir 更改为 Route)
  3. ls(列出帐户 ID)
  4. 输入test456.txt12345(12345为账号ID)

Post执行最后一条命令文件根据账号ID传输到内部文件夹

我在 stack over flow 上做了一些搜索,找到了几个链接,但无法成功使用它来模拟上述命令序列

我能找到的最接近的如下

How to execute Linux command or shell script from APACHE JMETER

但这并没有讨论从 linux 机器本身执行

任何关于如何解决这个问题的帮助都会帮助我。提前致谢

PS:- 我正在使用 jmeter,因为我必须保持这个序列连续执行,直到我在高峰时段传输预期数量的文件,并且这些文件的大小不同,从几 MB 到几个 GB

新编辑

我使用了 JSR223 预处理器,其中包含我的命令序列,然后我在 OSS 采样器中调用该命令并创建了如下脚本

脚本在 Linux 框上执行,没有任何错误,但文件未传输到目的地。我错过了什么吗?

在一些研究中,我确实找到了一个 lftp 命令,但不确定如何在我的情况下使用以及它是否有效。

有什么建议吗?

  1. 要在本地 Linux 机器上执行命令,您可以使用 OS Process Sampler

  2. 要在远程 Linux 机器上执行命令,您可以使用 SSH Command Sampler

    如有需要,请参阅 How to Run External Commands and Programs Locally and Remotely from JMeter 文章了解更多信息。

  3. 要将文件从本地传输到远程,您可以使用 SSH SFTP Sampler

为了获得 SSH 命令和 SSH SFTP 采样器安装 SSH Protocol Support plugin using JMeter Plugins Manager: