如何在 jmeter 中与同一个用户多次申请同一个招聘会?

Posted

技术标签:

【中文标题】如何在 jmeter 中与同一个用户多次申请同一个招聘会?【英文标题】:How can I apply to a same career fair more than one time with same user in jmeter? 【发布时间】:2021-08-20 12:09:39 【问题描述】:

我正在对招聘会部分的应用选项进行负载测试。但是我只有一个用户的登录信息,我想对同一个用户进行多次应用测试。例如,当我使用 Thread Group 创建 10 个用户时,申请的 http 请求将下降 9 次。我认为这就是为什么我们只使用一个用户并且应用按钮将是应用按钮而不是可点击的。我该如何做这个测试?

【问题讨论】:

模拟同一个用户并行应用多次听起来不像公共系统的典型负载测试——我宁愿期望多个用户尝试并行工作。确保您测试的是您真正想要测试的内容,而不是需要跟踪较少数据的内容。 是的,你是对的,但我是一名实习生,公司只给了我一个用户的登录信息。我不知道做这个测试的正确方法,我在网上搜索过,但没有找到任何有用的解决方案。 好吧,然后他们要求您对一个(由我假设)基本上不相关的场景进行负载测试。我的做法:对于负载测试,我只是枚举用户及其密码 - 例如user1/password1 (甚至所有密码都相同)。如果应用程序一次又一次地不接受同一个用户,您可以在此停止。除非你的测试是单个用户只能登录一次。我不认为这是负载测试,而是功能测试。 我测试的是申请功能,可以同时申请几个用户?例如,对于登录测试,我只提供了一个用户的用户名和密码,然后我使用 Thread 组创建了该用户的 1000 个样本。如果 1000 个用户可以在 10 秒内同时登录,它给了我结果。我想测试登录等应用功能。但是我不知道如何只使用一个用户的登录信息来做到这一点,因为应用按钮将在一个样本之后应用标签,而其他样本将给出错误。如何仅使用一个用户信息进行该测试? 【参考方案1】:

有一条黄金法则:1 位虚拟用户 == 1 位真实用户及其所有内容,例如凭据、权限、业务操作、cookie、缓存等。有关详细信息,请参阅How to make JMeter behave more like a real browser 文章。

    因此,理想情况下,您需要拥有与您在 JMeter 的 Thread Group 中设置的线程(虚拟用户)一样多的凭据 测试必须是repeatable,以使系统保持未修改状态,以便您可以再次重新运行测试。如果申请过程不可逆,您需要在tearDown Thread Group某处取消申请或使用JDBC Test Elements修改数据库以恢复系统状态

如果您的系统不允许一个用户多次登录,我认为您将无法使用单个用户进行多个会话的测试。

【讨论】:

以上是关于如何在 jmeter 中与同一个用户多次申请同一个招聘会?的主要内容,如果未能解决你的问题,请参考以下文章

如何在jmeter中多次执行CSV文件

Jmeter使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多次抽奖功能)

jmeter参数化的几种方法

Jmeter在一次线程里多次调用同一个拼接参数,不使用自带拼接函数

Jmeter如何使用数据库返回值实践

jmeter_performance_testing