最近在使用 jMeter(version 2.7) 进行 HTTP Authorization 认证时(就是使用浏览器访问网站时会弹出一个对话框,要求输入用户名及密码)出现了问题,怎么都无法通过认证。上网一顿查啊,也仔细的阅读了官网的资料,调查了好久,但就是不好使。
后来不经意的一个发现,让我终于查出了原因。
我的 Test Plan 结构如下:
Test Plan
|
——Thread Group
| |
| |——HTTP Authorization Manager
| |——HTTP Request
| |
| ——Assertion
———HTTP Request Defaults(其中, Http Request Implementation 选择的是 Java 方式)
HTTP Authorization Manager 中需要添加的信息如下:
Base URL(必须),User Name(必须),Password(必须),Domain(可选),Realm(可选)
问题就出现在 Base URL 这,原来我填写的 Base URL 是 http://www.example.com/folder/sample[b][color=red]/[/color][/b],问题出来了,正是在 URL 后面多写的这个 "/",导致无法通过认证的(这也太不智能了!!!),把 "/" 去了之后,一切就正常了,终于可以通过认证了。
PS:网上有说在如下文件中进行设置(或打开设置)
jmeter.properties
httpclient.parameters.file=httpclient.parameters
httpclient.parameters
http.authentication.preemptive$Boolean=true
经本人测试,在 jMeter(version 2.7) 中,无论 Http Request Implementation 选择的是什么(即使选择的是 HttpClient)都不需要进行上述两项的设置。
后来不经意的一个发现,让我终于查出了原因。
我的 Test Plan 结构如下:
Test Plan
|
——Thread Group
| |
| |——HTTP Authorization Manager
| |——HTTP Request
| |
| ——Assertion
———HTTP Request Defaults(其中, Http Request Implementation 选择的是 Java 方式)
HTTP Authorization Manager 中需要添加的信息如下:
Base URL(必须),User Name(必须),Password(必须),Domain(可选),Realm(可选)
问题就出现在 Base URL 这,原来我填写的 Base URL 是 http://www.example.com/folder/sample[b][color=red]/[/color][/b],问题出来了,正是在 URL 后面多写的这个 "/",导致无法通过认证的(这也太不智能了!!!),把 "/" 去了之后,一切就正常了,终于可以通过认证了。
PS:网上有说在如下文件中进行设置(或打开设置)
jmeter.properties
httpclient.parameters.file=httpclient.parameters
httpclient.parameters
http.authentication.preemptive$Boolean=true
经本人测试,在 jMeter(version 2.7) 中,无论 Http Request Implementation 选择的是什么(即使选择的是 HttpClient)都不需要进行上述两项的设置。