LoadRunner 的 web_set_user 函数
不少使用IIS或是windows域的环境中,在访问某个页面时,系统会弹出一个对话框要求用户输入域用户名称和口令,输入正确的与用户名称和口令才能继续。在使用LoadRunner对这种类型的网站进行测试时,录制下来的脚本在回放时通常都会在访问特定页面时给出一个401 Authorized require的错误信息。
其实,在LoadRunner中,有一个专门的函数 web_set_user 可以实现输入windows认证信息。
web_set_user()函数带三个参数,分别是 域用户名、口令和需要登录的服务器名称和端口,第一个参数需要注意的是一定要带上域名,其格式为\\windomainname\username,而最容易混淆的莫过于第三个参数了。特别需要注意的是,第三个参数是“需要认证的服务器名:端口”,假设你要访问的web url 是 http://requireauth/login.asp,则第三个参数应该是“requireauth:80”,有些朋友错误的写成“http://requireauth:80”或是“requireauth/login.asp:80”,都是不正确的。
最后,知其然,知其所以然。web_set_user函数的原理并不复杂,简单的说,就是通过NTLM协议发送了一些数据包给服务器而已。关于NTLM的更详细的内容,提供两份参考文献:
http://www.innovation.ch/personal/ronald/ntlm.html
http://davenport.sourceforge.net/ntlm.html
其实,在LoadRunner中,有一个专门的函数 web_set_user 可以实现输入windows认证信息。
web_set_user()函数带三个参数,分别是 域用户名、口令和需要登录的服务器名称和端口,第一个参数需要注意的是一定要带上域名,其格式为\\windomainname\username,而最容易混淆的莫过于第三个参数了。特别需要注意的是,第三个参数是“需要认证的服务器名:端口”,假设你要访问的web url 是 http://requireauth/login.asp,则第三个参数应该是“requireauth:80”,有些朋友错误的写成“http://requireauth:80”或是“requireauth/login.asp:80”,都是不正确的。
最后,知其然,知其所以然。web_set_user函数的原理并不复杂,简单的说,就是通过NTLM协议发送了一些数据包给服务器而已。关于NTLM的更详细的内容,提供两份参考文献:
http://www.innovation.ch/personal/ronald/ntlm.html
http://davenport.sourceforge.net/ntlm.html