Selenium - 存储的会话数据
Selenium - Stored Session Data
我在整个互联网上进行了搜索,但是 none 我找到的答案有明确的解决方案。
我正在使用带有 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/
,它包含当前正在使用的配置文件的信息。要了解更多信息,请参阅 this
我在整个互联网上进行了搜索,但是 none 我找到的答案有明确的解决方案。
我正在使用带有 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/
,它包含当前正在使用的配置文件的信息。要了解更多信息,请参阅 this