1

我正在开发一个允许通过 openid 登录的网页。感谢 restlet 的 openid 实现,它运行良好。

但是:当我登录时,我想再次测试,可能与另一个提供商或因为我怀疑存在错误等。问题是:页面记得我已登录。我立即获得受保护的页面而不是重定向到我的 OpenIdProvider。

即使删除所有cookie,重新启动浏览器和重新启动开发服务器也没有任何区别。如何注销并再次尝试?

我的 OpenIdProviders 是 google 和 myopenid(两个帐户,因为我想确保这两个提供程序都与我的页面一起工作)。访问 accounts.google.com/Logout 也无济于事。

4

1 回答 1

0

在我的情况下,重新启动浏览器确实会导致我的 OpenID 测试用户从 OpenID 提供程序(在我的情况下为 Gmail)注销。(我的意思是从测试套件中自动重新启动浏览器。)

我使用 Selenium 和 Chrome,请参阅:http ://code.google.com/p/selenium/wiki/ChromeDriver

当 ChromeDriver 启动 Chrome 时,它​​指定了许多命令行选项,这显然启动了一个 Chrome 浏览器,它不记得过去的任何内容(没有插件,没有 cookie(我认为),没有登录到任何地方,据我所知)。

因此,也许您正在使用另一个浏览器或测试框架,它不会在每次测试运行之间重置浏览器的状态。一种解决方案是使用 Selenium + Chrome 和 ChromeDriver。

于 2013-01-10T07:28:38.267 回答