【问题标题】:Jmeter - how to execute linux bash shell command/script through BeanShellJmeter - 如何通过 BeanShell 执行 linux bash shell 命令/脚本
【发布时间】:2017-01-17 00:21:23
【问题描述】:

请建议如何通过 BeanShell 执行 linux bash shell 命令/脚本。背后的想法是使用这种方法进行设置和拆卸,而不在最终报告中进行。

目标是为每个 ThreadGroup 设置测试环境

提前致谢

【问题讨论】:

    标签: jmeter beanshell


    【解决方案1】:

    我建议考虑切换到JSR223 Test Elements

    1. 表现良好的 groovy 可以编译成字节码
    2. 在 Groovy 中执行命令要容易得多,只需在命令后添加 .execute() 即可

      • "date".execute()
      • "date".execute().text

    演示:

    有关 JMeter 中 Groovy 脚本的更多详细信息,请参阅 Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 文章。

    【讨论】:

      【解决方案2】:

      由于 Beanshell 是 Java(脚本语言),您可以在 Beanshell 中使用以下语句来运行特定命令。

      Runtime.getRuntime().exec(command)

      【讨论】:

      • 嗨 vins,我尝试在波纹管结构中使用 BeanShell 前/后处理器 BeanShell 预处理器1(设置测试环境 - 运行 shell 脚本) ) .... BeanShell pre-processor2 ThreadGroup2 BeanShell pre-processor2 但在这种情况下,所有预处理器都在 ThreadGroup1 之前执行