我正在尝试为 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管理器应该可以解决问题(至少部分(。
不知道您的身份服务器配置详细信息的详细信息并看到请求/响应序列,很难提出全面的说明,但是我的期望是,这是简单的关联问题:
- 打开您的应用程序登录页面(确保 HTTP Cookie 管理器在那里(
- 打开身份服务器
- 如果需要,使用合适的 JMeter 后处理器从响应中提取令牌,并将值保存到 JMeter 变量中
- 使用步骤 3 中的 JMeter 变量,而不是记录的硬编码令牌