JMeter NTLM/Windows身份验证负载测试

Pal*_*Dot 5 automated-tests ntlm jmeter windows-authentication load-testing

什么是要做?

我们在Sharepoint(公司)服务器上部署了一个应用程序,它使用Windows凭据登录应用程序.

目标是对这样的n个用户执行应用程序的负载/性能测试(尤其是登录功能).

通常,当我点击Firefox/IE中的应用程序URL时,会弹出一个窗口询问凭据.我输入凭据,浏览应用程序然后注销.我打算在JMeter中捕获它并为大量用户模拟这个.

我被困在哪里?

现在我启动JMeter代理服务器,然后尝试与上面相同的步骤.但是当弹出窗口出现时,JMeter根本不会记录它,也不会在登录后记录任何其他内容.

我试过了什么?

如果我在IE中启用"自动检测Intranet网络"后尝试相同的步骤,那么它只是自动检测我的Windows凭据(没有凭据弹出),将我登录到应用程序(这也没有记录在JMeter中)并带我到主页.之后我点击的任何页面都会记录在JMeter中.

我还尝试使用以下参数使用HTTP授权管理器:

它没有帮助.我对如何使用上述元素感到很困惑.甚至不确定它是否是一个正确的方法来解决我的问题.

任何帮助/建议?

PS我知道一个名为Badboy的工具,但必须将其作为最后一个资源.甚至还不确定它是否记录了弹出窗口.对不起,如果帖子很冗长.


更新:

我也尝试过 -

Username: USER_ID and Domain: my_company_domain
Run Code Online (Sandbox Code Playgroud)

但这不是实际问题.问题是,当我尝试点击我之前记录的页面(自动化)时,即使我没有使用HTTP授权管理器,也会返回成功响应.我不确定我错过了什么.

Pal*_*Dot 4

好的。终于我得到了所缺少的东西。

首先,我必须将每个请求的实现更改为HttpClient3.1

其次,看到JMeter 文档具有误导性确实令人沮丧。

它说配置文件httpclient.parameters应该编辑如下:

http.authentication.preemptive$Boolean=false
Run Code Online (Sandbox Code Playgroud)

但这没有用。将其更改为 true 非常有效。

希望这对其他人有帮助。