我在整个互联网上进行搜索,但是找不到答案有明确的解决方案。
我在Java中使用Selenium Webdriver。
我的测试需要验证何时保存登录信息,然后关闭浏览器并重新打开,然后这些凭据仍然保留并保存在新会话中。因此,我想关闭当前会话并重新打开它,以验证cookie是否仍保留在页面上,但是Selenium删除了所有存储的会话数据,因此测试用例将始终失败。在针对特定测试用例关闭浏览器之后,是否有任何方法可以防止Selenium删除存储的会话数据?
当我运行它时,没有得到这样的会话错误。
此解决方案适用于chrome。
当您启动chrome(我认为其他浏览器也是如此)时,selenium会创建一个临时配置文件,当您关闭它时,它将删除它。因此,当您重新启动浏览器时,新的配置文件将没有会话信息。您可以做的是使用配置文件。
DesiredCapabilities desiredCapabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:\\Users\\"+System.getenv("USERNAME")+"\\AppData\\Local\\Google\\Chrome\\User Data\\Profile 1");
desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(desiredCapabilities);
这样,如果您创建驱动程序,则每次使用相同的配置文件启动chrome时, 如果不这样做,
driver.manage().deleteAllCookies();
您的会话信息将保留在chrome驱动程序的新会话中。如果您不希望它持续存在,则可以使用上述命令清除cookie或仅注销即可。这应该可以解决您的问题。在其他浏览器中,类似的事情也应该是可能的。
要知道当前正在使用哪个配置文件chrome://version/
,请在地址栏中输入当前正在使用的配置文件的信息。要了解更多有关此的信息
当我运行它时,我得到一个no this session错误。
问题内容: 我在整个互联网上进行搜索,但是找不到答案有明确的解决方案。 我在Java中使用Selenium Webdriver。 我的测试需要验证何时保存登录信息并关闭浏览器并重新打开,然后这些凭据仍然保留并保存在新会话中。因此,我想关闭当前会话并重新打开它,以验证cookie是否仍保留在页面上,但是Selenium删除了所有存储的会话数据,因此测试用例将始终失败。关闭特定测试用例的浏览器后,是否
sessionStorage 会话存储 存储针对QQ帐号隔离 数据存储于内存中,当前游戏结束后被清空 函数 key( index ) 获取对应索引的key 手q 版本7.8.5 参数 参数名 类型 说明 index number 索引值 返回值 类型 说明 string 说明 示例 var stringKey = BK.sessionStorage.key(0); getItem( key )
问题内容: 除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)? 问题答案: localStorage和sessionStorage都扩展了Storage。除了的预期的“非持久性”外,它们之间没有区别。 也就是说,存储在中的数据将 一直保留到明确删除为止 。所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。 对于, 更改仅在每个选项卡上可用
问题内容: 我想用Spring来实现一个购物车,所以我需要在会话中保存一个对象(该对象具有product,paymentType和deliveryType之类的属性)。我尝试使用bean并将属性“ scope”设置为“ session”来创建它,但是它不起作用,我应该在控制器或类中使用一些其他注释吗?任何示例用法都将非常有帮助:-)预先感谢。 问题答案: 然后 如果它在Web上下文(dispatc
问题内容: 我正在一个应用程序中工作,该应用程序需要在用户登录期间保留一些数据,但我有一个问题,localStorage,sessionStorage和cookie有什么区别? 我在问我可以使用什么来将某些数据持久化在DOM中,即使用户刷新页面,有人说:使用sessionStorage或localStorage,然后,有人想到了使用ngCookies的想法,因为它可以在每个浏览器,但是,我应该使用