如何在Capybara通过Selenium运行的Chrome中启用密码保存?

时间:2018-06-30 00:23:50

标签: selenium capybara selenium-chromedriver

我使用Capybara编写了一个测试,该测试检查Chrome的自动填充功能对于我的Web应用程序的登录表单是否正确工作。如果在浏览器中运行Web应用程序并在注册后保存密码,Chrome会自动填写登录表单。但是,对于自动化测试,我没有找到一种方法使Chrome保存由Capybara / Selenium输入的注册表的密码。似乎没有显示此弹出窗口。有办法启用密码保存吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

Capybara.register_driver :selenium do |app|
  preferences = {credentials_enable_service: true,
                 password_manager_enabled: true}
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
  capabilities['chromeOptions'] = {'prefs' => preferences}
  Capybara::Selenium::Driver.new(app, browser: :chrome,
                                 desired_capabilities: capabilities)
end  

工作流程如下:

  1. 启动驱动程序
  2. 输入凭据
  3. 浏览器会询问您是否要保存它们
  4. 登录应用并注销
  5. 然后尝试第二次输入凭据

您可能也会对capybara-sessionkeeper

感兴趣