JMeter - 记录时无法登录简单的身份验证网站

JMeter - Trouble signing into a simple authentication website while recording

一段时间以来,我一直在努力解决这个问题。我尝试用谷歌搜索这个问题,但没有找到任何东西。我发现的所有问题都是关于重播已记录的 HTTPS 请求。

因此,我需要在受简单身份验证保护的站点上记录 HTTPS 请求(弹出 window 要求用户名和密码)。 这就是我卡住的地方。我输入正确的登录详细信息并确认,没有任何反应,然后我收到再次提示输入登录详细信息的提示,没有任何错误消息。当我按 ESC 时,出现 401 UNAUTHORIZED 错误。

基本上,该网站表现得好像登录详细信息不正确,而实际上我在没有 Jmeter 代理的情况下尝试了相同的登录详细信息并且服务器接受了它。

我尝试了什么:

1) 在没有 JMeter 代理的情况下登录此站点 - 没有问题

2) 使用 JMeter 的代理记录不同的 HTTPS 站点 - 我尝试了我的电子邮件,它也能正常工作

我还要提一下,我在公司代理后面,但我在家里试了一下,结果是一样的。

至于 JMeter 配置,我默认使用的是: 线程组 HTTP 缓存管理器 HTTP Cookie 管理器 HTTP 请求默认值 录音控制器 HTTP(S) 测试脚本记录器

猜测线程组并不重要,因为我没有运行任何测试,只是记录。

其他详细信息:

服务器:IIS

登录sharepoint网站

编辑:

忘了说我已经尝试过 Blazemeter Extension,但是当我尝试记录日志会话时,它就死机了。网站在尝试联系 Blazemeter Cloud 时挂起,Blazemeter 插件冻结,导致无法停止录制并不得不重新启动整个浏览器。

还刚刚注意到,当我已经登录并尝试访问该站点时,它会毫无问题地记录下来。因此,由于某种原因,只有登录有问题。

JMeter 在记录时删除了 cookie 和授权 headers。

您可以使用 JMeter Chrome Extension 作为记录测试场景的替代方法。

为了正确重播录制的脚本,您需要向其中添加 HTTP Authorization 管理器。

Sharepoint 可以有不同的身份验证类型,即

  • 基本 HTTP 身份验证
  • Windows 集成身份验证 (NTLM)
  • Kerberos

请参阅 Windows Authentication with Apache JMeter 指南以了解如何绕过 JMeter 测试中的每个身份验证挑战。

所以我终于能够解决这个问题。问题在于共享点身份验证。我使用我的个人帐户登录了域,但试图使用不同的帐户访问共享点。

Sharepoint 忽略了提示我输入的登录详细信息,而是使用了 mw 域凭据。所以我的答案是在使用同一帐户登录域 (windows) 的同时访问共享点网站。