我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,quit()或close()浏览器。但是,当我使用new ChromeDriver()(或任何其他WebDriver实现)重新打开浏览器时,测试站点不记得任何内容,因为在关闭浏览器时所有cookie都会被删除,而在重新打开浏览器时将无法访问。
quit()
close()
new ChromeDriver()
WebDriver
对于Chrome(配置):
您必须将路径设置为user-dir,这将在您首次登录后保存所有登录信息。下次再次登录时,将从用户目录中获取登录信息。
System.setProperty("webdriver.chrome.driver", "res/chromedriver.exe"); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); options.addArguments("start-maximized"); options.addArguments("user-data-dir=D:/temp/"); capabilities.setCapability("chrome.binary","res/chromedriver.exe"); capabilities.setCapability(ChromeOptions.CAPABILITY,options); WebDriver driver = new ChromeDriver(capabilities);
首次登录:
driver.get("https://gmail.com"); //Your login script typing username password, check 'keep me signed in' and so on
关闭驱动程序(请勿退出):
driver.close();
重新初始化驱动程序并导航到该站点。不再要求您输入用户名和密码:
driver = new ChromeDriver(capabilities); driver.get("http://gmail.com");
可以使用firefox配置文件为Firefox实现以上内容。