我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,然后quit() or close()浏览器。但是当我重新打开浏览器时new ChromeDriver()
(或任何其他WebDriver
实现),测试站点不记得任何东西,因为当浏览器关闭时所有cookie都被删除,并且当浏览器重新打开时无法访问。
对于 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 实现上述内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)