gpt4 book ai didi

java - Selenium - 存储的 session 数据

转载 作者:行者123 更新时间:2023-11-30 06:11:50 25 4
gpt4 key购买 nike

我在整个互联网上进行了搜索,但我找到的答案都没有明确的解决方案。

我在 Java 中使用 selenium webdriver。

我的测试需要验证您何时保存登录信息并关闭浏览器并重新打开它,然后这些凭据会保留并保存在新 session 中。所以我想关闭当前 session 并重新打开它以验证页面上是否存在 cookie,但是 Selenium 会删除所有存储的 session 数据,因此测试用例将始终失败。有什么办法可以防止Selenium在关闭特定测试用例的浏览器后删除存储的 session 数据吗?

当我运行它时,我得到了一个没有这样的 session 错误。

最佳答案

此解决方案适用于 chrome。

当您启动 chrome(我认为其他浏览器也一样)时,selenium 会创建一个临时配置文件,当您关闭它时,它会删除它。因此,当您重新启动浏览器时,新的配置文件将没有 session 信息。您可以做的是使用配置文件。

 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();

您的 session 信息将保留在 chrome 驱动程序的新 session 中。如果您不希望它持续存在,您可以使用上述命令清除 cookie,或者只是简单地注销。这应该可以解决您的问题。类似的事情在其他浏览器中也应该是可能的。

要知道当前使用的是哪个配置文件,请在您的地址栏中输入 chrome://version/ 它包含当前正在使用的配置文件的信息。要了解更多信息,请参阅 this

关于java - Selenium - 存储的 session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com