【问题标题】:Jmeter - query, store in variable. Now use that variable in post-processingJmeter - 查询,存储在变量中。现在在后处理中使用该变量
【发布时间】:2015-07-08 15:49:48
【问题描述】:

希望利用 jmeter 进行一些自动化测试,但遇到了问题。在我的测试之前,我想在我的数据库上运行一个查询,然后将结果存储在一个文本文件中。

我想我会通过这样的 JDBC 请求来做到这一点:

然后在我想做一些将结果写入我们的文件的后处理之后:

我也尝试过将传递给 vars.get 的参数放在引号中,但我没有这样的运气。 Jmeter 确实写了一个文件,但是那个文件是空的,如果我独立运行查询,它确实会返回结果。

有人知道如何获得这种期望的行为吗?

【问题讨论】:

    标签: jmeter jmeter-plugins


    【解决方案1】:

    如果您查看 jmeter.log 文件,您应该会看到与 Beanshell 相关的错误。

    这是因为“结果变量名称”是 ArrayList,而不是字符串,因此

    1. 你需要使用vars.getObject()方法而不是vars.get()

    2. 确保引用变量名

    3. 去掉“;”在 SQL 查询结束时

    4. 您需要以某种方式迭代 ArrayList 或将 serialize 迭代到文件中。

    5. 如果结果集很大,最好考虑通过JSR223 Sampler 使用“groovy”作为一种语言,因为 Beanshell 有一些性能限制。有关如何设置 groovy 脚本引擎支持的基准测试结果和说明,请参阅 Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! 指南。

    6. 要将输出写入文件,请参阅:

      Append data into a file using Apache Commons I/O

    如果您决定使用 Groovy,那就更容易了:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 2021-07-03
      • 2017-12-10
      • 2015-08-07
      • 1970-01-01
      • 2021-07-20
      相关资源
      最近更新 更多