如何在Python中使用selenium-rc自动化Windows身份验证?

0 投票
2 回答
1954 浏览
提问于 2025-04-17 02:51

我正在用Python编写Selenium-rc测试代码,测试的是我的服务器代码。这个服务器应用是用ASP.NET写的,并且配置了“Windows身份验证”。我的Python代码执行步骤大致如下:

  1. 启动Python的main()函数
  2. 创建一个Selenium实例(比如叫sel)
  3. 通过调用sel.start()来启动Selenium
  4. 通过调用sel.open(url)打开目标网址
  5. 这时会弹出Windows身份验证的对话框
  6. 默认情况下,sel.open(url)在等待输入用户名和密码的身份验证过程中会在30秒后超时。

  7. 在这个时候,我发现通过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

这个方法对我有效,但前提是我使用的是谷歌浏览器作为默认的测试浏览器

撰写回答