[英]JMeter NTLM/Windows Authentication Load Testing
什么是要做?
我们在Sharepoint(公司)服务器上部署了一个应用程序,它使用Windows凭据登录应用程序。
Windows凭据格式:user_id@domain.co.in
目标是对这样的n个用户执行应用程序的负载/性能测试(尤其是登录功能)。
通常,当我点击Firefox / IE中的应用程序URL时,会弹出一个窗口询问凭据。 我输入凭据,浏览应用程序然后注销。 我打算在JMeter中捕获它并为大量用户模拟这个。
我被困在哪里?
现在我启动JMeter代理服务器,然后尝试与上面相同的步骤。 但是当弹出窗口出现时,JMeter根本不会记录它,也不会在登录后记录任何其他内容。
我试过了什么?
如果我在IE中启用“自动检测Intranet网络”后尝试相同的步骤,那么它只是自动检测我的Windows凭据(没有凭据弹出),将我登录到应用程序(这也没有记录在JMeter中)并带我到主页。 之后我点击的任何页面都会记录在JMeter中。
我还尝试使用以下参数使用HTTP授权管理器 :
它没有帮助。 我对如何使用上述元素感到很困惑。 甚至不确定它是否是一个正确的方法来解决我的问题。
任何帮助/建议?
PS我知道一个名为Badboy的工具,但必须将其作为最后一个资源。 甚至还不确定它是否记录了弹出窗口。 对不起,如果帖子很冗长。
更新:
我也尝试过 -
Username: USER_ID and Domain: my_company_domain
但这不是实际问题。 问题是,当我尝试点击我之前记录的页面(自动化)时,即使我没有使用HTTP授权管理器,也会返回成功响应。 我不确定我错过了什么。
好。 最后我得到了遗漏的东西。
首先,我必须将每个请求的实现更改为HttpClient3.1
其次,看到JMeter文档具有误导性是非常令人沮丧的。
它说配置文件httpclient.parameters
应编辑如下:
http.authentication.preemptive$Boolean=false
但它没有用。 把它改成真正就像一个魅力。
希望这有助于其他人。
JMeter在HTTP层工作,因此代理只捕获通过此协议层发出的请求。 听起来我已经找到了正确的方法来使用IE中的“自动检测Intranet网络”进行录制,您可以使用此方法捕获大多数请求,您必须手动确定身份验证。 如何执行此操作取决于应用程序与服务器通信以验证用户身份。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.