【问题标题】:JMeter get the latest file / contents from SFTP folderJMeter 从 SFTP 文件夹中获取最新的文件/内容
【发布时间】:2019-11-19 19:08:28
【问题描述】:

我正在尝试使用 JMeter 执行端到端测试。测试包括写入 SFTP 文件夹和读取另一个 SFTP 文件夹写入操作生成的文件。

我能够使用 JMeter SSH SFTP 插件连接到 SFTP 文件夹,并且能够成功写入/读取 SFTP 文件夹内容。

被测应用程序根据输入文件(由 JMeter 放置)创建一个输出文件。我现在面临的挑战是读取在 SFTP 文件夹上创建的内容/文件。

被测应用程序写入一个带有 JMeter 可能不知道的日期时间字符串的文件,因此我正在尝试读取最新文件。

JMeter SSH SFTP 插件提供了许多选项,即 ls、rm、rmdir 等,但是,我选择了编辑选项 (${sftp username@servername 'ls -ltr /server/path | tail -n 1'}) 并尝试使用以下命令来读取文件,但我都没有查看错误或响应。

如果您能想到更好的解决方案,我将不胜感激。如果您希望我分享更多信息,也请告诉我。

提前致谢。

【问题讨论】:

    标签: java jmeter sftp jsch beanshell


    【解决方案1】:
    1. 你使用了错误的采样器,如果你想运行你需要的命令(令人惊讶)SSH Command Sampler
    2. 这个pipe 符号| 不是ls 命令的参数,它是Unix shell 的一部分,在大多数情况下它是bash,所以你需要修改你的命令看起来像:

      /bin/bash -c "ls -ltr /server/path | tail -n 1"
      

      SSH 命令采样器配置示例:

      和示例输出:

    更多信息:How to Run External Commands and Programs Locally and Remotely from JMeter

    【讨论】:

    • 谢谢德米特里。我已经尝试了上面的解决方案,但是它没有用。我猜这可能是因为响应包含纯文本。我正在使用演示 SFTP 服务器 (demo.wftpserver.com),在 ls 上返回的响应如下: -rw-r--r-- 1 root root 16471 Feb 16 2007 mail-editor.png -rw-r-- r-- 1 root root 61014 Mar 01 2019 greencheck.jpg 但是,SSH 命令仅显示失败: === stdin === === stderr ===
    猜你喜欢
    • 1970-01-01
    • 2018-07-08
    • 2023-02-22
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多