Session 如何使用WebDriver重新启动firefox浏览器,同时保留以前的会话id
我的应用程序中存在一个无法注销的错误。我需要在使用WebDriver的Java自动化中解决这个问题。解决方法是关闭浏览器并重新打开,然后打开登录页面 要使此解决方案自动化,我尝试了以下方法:Session 如何使用WebDriver重新启动firefox浏览器,同时保留以前的会话id,session,selenium,relaunch,Session,Selenium,Relaunch,我的应用程序中存在一个无法注销的错误。我需要在使用WebDriver的Java自动化中解决这个问题。解决方法是关闭浏览器并重新打开,然后打开登录页面 要使此解决方案自动化,我尝试了以下方法: browserDriver.quit(); browserDriver = new FirefoxDriver(capabilities); browserDriver.get(loginPageURL); 这将返回一个新的会话id。是否有方法保留上一个会话id并将其设置回原来的会
browserDriver.quit();
browserDriver = new FirefoxDriver(capabilities);
browserDriver.get(loginPageURL);
这将返回一个新的会话id。是否有方法保留上一个会话id并将其设置回原来的会话id。我可以使用
((RemoteWebDriver)browserDriver).getSessionId();
我还尝试使用以下代码删除当前域的所有cookie,但用户仍然登录
browserDriver.manage().deleteAllCookies();
browserDriver.navigate().refresh();
browserDriver.get(loginPageURL);
感谢您的帮助。据我所知,在对驱动程序调用quit()方法后,它将不会保留上一个会话id 无论如何,请尝试通过禁用特定firefox配置文件中的缓存来启动浏览器
FirefoxProfile profile = new ProfilesIni().getProfile(profilePath);
profile.setPreference("browser.cache.disk.enable", false);
profile.setPreference("browser.cache.memory.enable", false);
profile.setPreference("browser.cache.offline.enable", false);
profile.setPreference("network.http.use-cache", false);
DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(FirefoxDriver.PROFILE, profile);
driver = new FirefoxDriver(dc);
driver.get(url);
Firefox配置文件创建==>
编辑-I
更改该配置文件中的以下设置
在“about:config”中,您可以将“Browser.sessionstore.enabled”设置为false,在这种情况下,firefox将不会在关闭浏览会话后恢复您的浏览会话。当您使用
driver.quit();
或
Selenium始终启动新会话。这意味着它总是引导您进入“登录”页面。
只需使用下面的代码,无需设置功能
browserDriver.quit();
browserDriver.get(loginPageURL);
您将看到登录页面
browserDriver.quit();
browserDriver.get(loginPageURL);