当前位置: 首页 > 面试题库 >

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

经炜
2023-03-14
问题内容

我正在尝试测试登录表单的“记住我”功能。我可以输入用户名和密码,单击复选框,单击提交,quit()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实现以上内容。



 类似资料:
  • 问题内容: 我正在寻找一种更好的方法来解决我的问题。我在登录表单上记得我的功能。用户单击“记住我”框,“我的API”向我发送令牌。 我的问题是,当用户返回我的网站时,存储此令牌并再次对其进行身份验证的最佳方法是什么? 我以为 创建一个Cookie并在其中存储令牌。 创建本地存储。 请给我任何可能对我有帮助的建议。 问题答案: 我将document.cookie与这样的工厂代码一起使用: 创建一个c

  • 问题内容: 我正在尝试实现“记住我” /“自动登录”功能。我已经在客户端存储了一个cookie,但是什么时候应该阅读它?例如,如果尝试在过滤器中执行此操作,则将无法访问用于访问数据库的应用程序范围的bean。 最佳做法是什么? 问题答案: 这在某种程度上取决于您当前的登录名是如何工作的。是容器登录后跟自定义内容(例如在会话中放置一些对象)还是仅自定义? 在第一种情况下,您无法在JSF中完全自动登录

  • 综述 浏览器有时候会询问用户是否想要浏览器记住他们刚刚输入的密码。然后,浏览器会存储密码,并自动在相同的认证表单中填充这些信息。这是方便用户的一项举措。此外有一些web站点可能会提供自定义的“记住我”功能来允许用户在一个特别的客户端系统中保持登陆状态。 浏览器记住密码功能不仅仅方便了终端用户,也方便了攻击者。如果一个攻击者能访问受害者的浏览器(如通过跨站脚本攻击,或通过共享计算机),那么他们就能够

  • 问题内容: 我一直在尝试AngularJS e2e测试, 并且在确定是否选中复选框时陷入困境。 我用端为端测试复选框输入作为样品(见 端对端测试 中的标签 实施例 )。 HTML片段: 控制器代码段: 这是我尝试过的: 1) 只要在屏幕上显示,它就可以在样品首尾测试中起作用。如果您在本地测试并删除`{{value1}},则绑定测试将失败。在我的大多数实际示例中,我并未在屏幕上的任何位置显示复选框值

  • 我有一个带有3个复选框的html页面。每个输入框旁边都有一个文本。复选框嵌套在div标签中。 我想选择具有文本“清洁”的复选框 我的Xpath正在选择3个复选框 如何选择清除文本的复选框?它位于id为=“operations\u edit\u process\u list\u task\u 1”的div标记内 我的Xpath是: 超文本标记语言是: 谢了Riaz

  • 奇怪的是,使用preverse,它试图从另一个表中选择一个复选框。下面是我使用前面的“开发工具”中突出显示的HTML: 我可以使用什么XPATH?