一尘不染

如何在Selenium中测试“记住我”复选框功能

selenium

我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,quit()close()浏览器。但是,当我使用new ChromeDriver()(或任何其他WebDriver实现)重新打开浏览器时,测试站点不记得任何内容,因为在关闭浏览器时所有cookie都会被删除,而在重新打开浏览器时将无法访问。


阅读 305

收藏
2020-06-26

共1个答案

一尘不染

对于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实现以上内容。

2020-06-26