首页 文章

JMeter - 1帐户模拟100个用户登录网站

提问于
浏览
0

我遇到了JMeter结果的问题 . 我只使用1个帐户(用户名/密码)模拟100个用户(线程组>线程数:100) . 我的方案是:100个用户同时登录网站(加速:1)>登录成功后,我添加一个响应断言,以确保我在主页 . 结果:全部通过,但我注意到很多用户被转移到登录页面(失败) . 我想知道我的负载测试场景是否正确?我是否必须创建100个帐户并使用CSV配置以确保所有100个用户都已成功登录?谢谢你的帮助

2 回答

  • 0

    您实际上不需要100个帐户来模拟100个用户加载 . 1个用户帐户就足够了 . 不过它 completely depends on your application & your test script design .

    我们的一个应用程序不支持同一用户帐户的不同会话 . 它将杀死旧的会话 . 因此,如果我按照您的方法,只有第100个线程将处于活动状态 . 所有其他用户会话将被销毁 . 所以我不得不创建不同的用户帐户 .

    即使您的应用程序支持此功能,您也需要仔细设计脚本 .

    For ex: 让我们假设您的测试脚本 - 登录到gmail应用程序,删除第一封电子邮件 . 因此,如果您为同一个帐户使用100个线程,则需要确保您有100个电子邮件用于该帐户,以便所有线程都可以删除一些电子邮件 .

    当你加速1秒时,

    1)你实际上是压力测试服务器 - 服务器无法处理这个巨大的负载 . 这可能导致失败 .

    2)考虑到上面的例子,当100个用户(但是1个帐户)一次登录到应用程序时,有可能超过1个线程会尝试删除同样的电子邮件,这也可能导致失败 .

    因此,请根据您的要求尝试适当的加速期,相应地创建更多帐户/更新测试脚本 .

  • 0

    通常,当我们第一次在浏览器中出于安全目的访问应用程序URL时,webapplications会为每个请求生成令牌(如csrftoken) . 它在每个后续请求中使用相同的标记 . 但是您不能对多个用户使用相同的令牌,因为应用程序将不允许用户登录 . 我们必须使用后处理器在第一个请求中动态获取身份验证令牌,并在后续请求中动态发送它 . 希望这可以帮助 .

    如果这有帮助,请告诉我 .

相关问题