5

什么是要做?

我们在 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

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

4

2 回答 2

4

OK. Finally I got what was missing.

First, I had to change the implementation of every request to HttpClient3.1

Second, it was really frustrating to see that JMeter documentation was misleading.

It says that the config file httpclient.parameters, should be edited as following:

http.authentication.preemptive$Boolean=false

But it didn't work. Changing it to true worked like a charm.

Hope this helps other people.

于 2012-04-25T12:27:59.867 回答
0

JMeter works at the HTTP layer so the proxy will only capture requests made over this protocol layer. It sounds to me like you have already found the right approach to use for recording by using '“Automatically detect intranet network” in IE', you can use this method to capture most requests and you will have to figure out authentication manually. How you do this depends on how your application communicates with your server to authenticate a user.

于 2012-04-18T16:20:39.380 回答