如何使用JMeter通过身份服务器5.2对MVC Web应用程序进行登录身份验证 ASP.Net



我正在尝试为 ASP.Net MVC Web应用程序进行性能测试, 应用程序正在使用身份服务器 5.2 进行登录身份验证。 我遇到通过身份服务器登录的问题。

Jmeter版本:5.1.1

案例描述:

  • 打开网站的网址。
  • 它会将您重定向到身份网站
  • 填写用户名和密码
  • 登录应用程序
  • 最终到达网址将与第 1 点相同。

我按照以下说明进行操作, https://www.youtube.com/watch?time_continue=10&v=hGkrSFKcj10 基于此,我创建了一个Jmeter测试计划

  • 测试计划
  • 线程组

  • 第一个 HTTP 请求 - 获取"https://CorrectURL.com/

    • 断言
    • 查看结果三
  • 第二个 HTTP 请求 - 在 https://identity.com/core/identityTokenUniqueForEverySingleLogin 上发布用户名和密码

    • 断言
    • 查看结果三

第一个 HTTP 请求成功:

我收到了采样器结果:

  • HTTP 请求 - 获取标识-0响应代码:301
  • HTTP 请求 - 获取标识-1响应代码:302
  • HTTP 请求 - 获取标识 2响应代码:302
  • HTTP 请求 - 获取标识 3响应代码:302
  • HTTP 请求 - 获取标识 4响应代码:200

第二个回应:

因为每次身份令牌都不同,我不知道如何在登录时获取令牌并使用它。

另外,我需要什么样的信息来执行HTTP POST?

我可以在开发工具的某个地方找到吗?

我还使用BlazeMeter来记录登录过程,但是当我再次运行它时,我收到:

  • 响应代码:405 方法不允许
  • 响应代码:500 内部服务器错误

任何建议将不胜感激

查看身份服务器文档,它似乎正在使用cookie,因此我的期望是添加HTTP Cookie管理器应该可以解决问题(至少部分(。

不知道您的身份服务器配置详细信息的详细信息并看到请求/响应序列,很难提出全面的说明,但是我的期望是,这是简单的关联问题:

  1. 打开您的应用程序登录页面(确保 HTTP Cookie 管理器在那里(
  2. 打开身份服务器
  3. 如果需要,使用合适的 JMeter 后处理器从响应中提取令牌,并将值保存到 JMeter 变量中
  4. 使用步骤 3 中的 JMeter 变量,而不是记录的硬编码令牌

最新更新