【问题标题】:Use database table as CSV dataset for JMeter使用数据库表作为 JMeter 的 CSV 数据集
【发布时间】:2015-09-24 17:16:30
【问题描述】:

我目前正在使用 JMeter 为我公司的一个应用程序进行性能测试。该应用程序需要登录,我必须使用多个用户。这通常在 JMeter 中完成的方式似乎是通过 CSV 数据集,但是我可以访问数据库并且可以直接从那里读取所有凭据。

由于是测试环境,所有用户的密码都相同,所以我可以硬编码,但我需要用户名列表。 JMeter 已经可以执行 JDBC 请求,但我想知道是否有任何方法可以将此类请求的结果用作数据集。

理想的方法是我在数据库中查询用户名并将其用作登录测试的输入。

有人知道这是否可行吗?

【问题讨论】:

    标签: database dataset jmeter performance-testing credentials


    【解决方案1】:

    当然,这是可能的。

    1. 按照The Real Secret to Building a Database Test Plan With JMeter 中的步骤建立JDBC 连接并执行您的查询。
    2. 在 JDBC 请求采样器的“变量名称”输入中定义一个变量

    3.查询结果将以

    的形式提供
    actor_1=John
    actor_2=Doe
    etc.
    

    如果需要处理多个列,方法是一样的。见official documentation on JDBC Request Sampler for example

    【讨论】:

    • 感谢您提供详细的示例,但这并不是我想要的。我设法建立了数据库连接并可以获得用户名列表,但我不知道如何像 CSV 数据集一样使用它们。线程组中的每个请求都应该选择其中一个名称来执行。这就是我卡住的地方。
    • 看看 __threadNum 和 [__evalVar](jmeter.apache.org/usermanual/functions.html#__evalVar ) 函数组合,您将能够从数据库中获取具有类似于${__evalVar(actor_${__threadNum})} 表达式的唯一用户。有关各种 JMeter 功能的高级信息,请参阅 How to Use JMeter Functions 指南。
    猜你喜欢
    • 1970-01-01
    • 2020-12-30
    • 2016-01-30
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多