如何在Python中使用selenium-rc自动化Windows身份验证?
我正在用Python编写Selenium-rc测试代码,测试的是我的服务器代码。这个服务器应用是用ASP.NET写的,并且配置了“Windows身份验证”。我的Python代码执行步骤大致如下:
- 启动Python的main()函数
- 创建一个Selenium实例(比如叫sel)
- 通过调用sel.start()来启动Selenium
- 通过调用sel.open(url)打开目标网址
- 这时会弹出Windows身份验证的对话框
默认情况下,sel.open(url)在等待输入用户名和密码的身份验证过程中会在30秒后超时。
在这个时候,我发现通过Selenium-rc接口没有办法让它识别这个弹出的对话框。我在网上查了一下,发现Selenium-rc接口(在Python中)只支持HTTP身份验证,而不支持Windows身份验证。
我尝试在Selenium中使用AutoIt,但还是没有成功。
有没有人能给我一些建议呢?
提前谢谢大家。
marvinchen
2 个回答
0
现在没有简单的方法可以解决这个问题,除非我在过去几个月里错过了什么,看来只有火狐浏览器能帮你解决这个问题。
你可以看看这个博客,了解如何解决这个问题:http://applicationtestingtips.wordpress.com/2009/12/21/seleniumrc-handle-windows-authentication-firefox/
1
Selenium在识别这个窗口时会遇到一些问题(如果想了解更多,可以搜索一下HTTP基本认证的相关内容)
基本上,唯一有点用的方法就是把用户名和密码直接放到网址请求里。假设你的应用程序运行在 http://example.com,那么新的网址应该像这样:
http://username:password@example.com
这个方法对我有效,但前提是我使用的是谷歌浏览器作为默认的测试浏览器