selenium - 如何在 Capybara 通过 Selenium 运行的 Chrome 中启用密码保存?
问题描述
我使用 Capybara 编写了一个测试,检查 Chrome 的自动填充功能是否适用于我的 Web 应用程序的登录表单。如果在浏览器中运行 Web 应用程序并在注册后保存密码,Chrome 会自动填写登录表单。但是对于自动化测试,我没有找到一种方法让 Chrome 保存 Capybara/Selenium 输入的注册表单的密码。似乎甚至没有显示此弹出窗口。有没有办法启用密码保存?
解决方案
你可以试试这个:
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
工作流程将是这样的:
- 启动驱动程序
- 输入凭据
- 浏览器会询问您是否要保存它们
- 登录应用程序并注销
- 然后尝试第二次输入凭据
推荐阅读
- events - 从事件驱动架构中的微服务获取信息
- sql - 使用 NVARCHAR 序列更新主键
- bash - Openvpn 无法通过基于用户的脚本发送 cURL 请求
- javascript - 如何过滤 django x chart.js 图表?未捕获的类型错误
- javascript - @@iterator- Javascript - 它到底是什么?
- bluetooth-lowenergy - 无法检索 iBeacon UUID(ESP32 BLE 扫描仪)
- android - 如何在 ionic 4 上修复 android 版本 9 的 CORS 问题
- python - 不手动输入名称时无法从页面获取源代码
- java - 嵌套异常是 org.springframework.orm.jpa.JpaSystemException: org.hibernate.PersistentObjectException: 分离的实体传递给坚持:
- c - 无法释放结构的数据