在Selenium中忘记http身份验证
如果我有一个Selenium测试,该测试当前已登录(使用HTTP身份验证)到某个特定网站,我如何使远程浏览器忘记当前的身份验证,以便我可以作为其他用户登录(同时保持在同一测试中)?这取决于您如何处理身份验证 如果您是通过服务器端检查的cookie执行此操作,您可以执行在Selenium中忘记http身份验证,http,authentication,selenium,Http,Authentication,Selenium,如果我有一个Selenium测试,该测试当前已登录(使用HTTP身份验证)到某个特定网站,我如何使远程浏览器忘记当前的身份验证,以便我可以作为其他用户登录(同时保持在同一测试中)?这取决于您如何处理身份验证 如果您是通过服务器端检查的cookie执行此操作,您可以执行deleteCookie,或者如果您想删除页面上的所有cookie,您可以执行deleteAllVisibleCookies 如果将其保存在JavaScript中,则可以使用getEval删除变量中的内容。这是基本身份验证吗?如果是
deleteCookie
,或者如果您想删除页面上的所有cookie,您可以执行deleteAllVisibleCookies
如果将其保存在JavaScript中,则可以使用
getEval
删除变量中的内容。这是基本身份验证吗?如果是,您可以修改请求中的基本身份验证标头以作为新用户登录。但是,为了修改请求头,您必须使用Selenium服务器作为代理。Yes-HTTP basic。不过,我不太确定如何落实你的建议。嗨,马特,我终于抽出时间写了一篇关于使用Selenium进行basic auth的文章。希望这对你有帮助。您应该能够遵循该技术,只需更改授权标头。它是HTTP basic,因此删除Cookie不会有帮助(很遗憾)。不太确定您使用的JavaScript方法是什么,但据我所知,JavaScript无法修改浏览器的HTTP基本身份验证缓存。