[rb] Add FedCM support to the ruby selenium client#13796
[rb] Add FedCM support to the ruby selenium client#13796p0deje merged 89 commits intoSeleniumHQ:trunkfrom
Conversation
…guspe/selenium into add_fedcm_support_for_the_ruby_library
…guspe/selenium into add_fedcm_support_for_the_ruby_library
Actually, I think what you were seeing is that your implementation actually works in Edge, while you marked it to work only in Chrome. You should move the tests back from Chrome folder and mark it as |
…guspe/selenium into add_fedcm_support_for_the_ruby_library
Thank you so much for the explanation, what throw me off before is that I tried this, but now that I looked more into the Guard implementation, this works and the test pass both with edge and chrome:
|
|
Is there anything I can do to help this get merged? All the ruby tests seemed to have passed in the last run, @p0deje @titusfortner |
PR Reviewer Guide 🔍
|
PR Code Suggestions ✨
|
|
Thank you for the contribution! |
Co-authored-by: aguspe <agustin.pe94@gmail.com>
Co-authored-by: aguspe <agustin.pe94@gmail.com>
User description
Description
As mentioned in #12088
The goal is to add support for the Federal credential management API (FedCM) so users have access to commands that will enable them to automate it
Reference Docs:
https://fedidcg.github.io/FedCM/#automation
https://developer.mozilla.org/en-US/docs/Web/API/FedCM_API
Motivation and Context
On Chrome 108 FedCM has shipped and it's already implemented by several web solutions, by adding support to the client library we guarantee that more users can automate this functionality without work arounds
Types of changes
Checklist
PR Type
Enhancement, Tests
Description
HasFedCmDialogextension for handling FedCM dialogs.AccountandDialogclasses to represent and handle FedCM dialogs.Changes walkthrough 📝
13 files
driver.rb
Add FedCM dialog extension to Chromium driverrb/lib/selenium/webdriver/chromium/driver.rb
DriverExtensions::HasFedCmDialogto the list of extensions.common.rb
Require FedCM dialog and account in common driverrb/lib/selenium/webdriver/common.rb
has_fedcm_dialogextension.fedcm/accountandfedcm/dialog.has_fedcm_dialog.rb
Implement FedCM dialog handling extensionrb/lib/selenium/webdriver/common/driver_extensions/has_fedcm_dialog.rb
HasFedCmDialogmodule with methods to handle FedCM dialogs.fedcm.rb
Autoload FedCM account and dialog modulesrb/lib/selenium/webdriver/common/fedcm.rb
AccountandDialogunderFedCMmodule.account.rb
Add FedCM account representation classrb/lib/selenium/webdriver/common/fedcm/account.rb
Accountclass to represent FedCM accounts.dialog.rb
Add FedCM dialog handling classrb/lib/selenium/webdriver/common/fedcm/dialog.rb
Dialogclass to handle FedCM dialogs.bridge.rb
Add FedCM dialog interaction methods to bridgerb/lib/selenium/webdriver/remote/bridge.rb
commands.rb
Add FedCM dialog commands to bridgerb/lib/selenium/webdriver/remote/bridge/commands.rb
fedcm.html
Update FedCM config URL to use HTTPcommon/src/web/fedcm/fedcm.html
configURLto usehttpinstead ofhttps.fedcm.json
Add login URL to FedCM configurationcommon/src/web/fedcm/fedcm.json
login_urlto FedCM configuration.account.rbs
Add type signatures for FedCM account classrb/sig/lib/selenium/webdriver/fedcm/account.rbs
Accountclass.dialog.rbs
Add type signatures for FedCM dialog classrb/sig/lib/selenium/webdriver/fedcm/dialog.rbs
Dialogclass.bridge.rbs
Add type signatures for FedCM methods in bridgerb/sig/lib/selenium/webdriver/remote/bridge.rbs
3 files
fedcm_spec.rb
Add integration tests for FedCM dialogrb/spec/integration/selenium/webdriver/fedcm_spec.rb
account_spec.rb
Add unit tests for FedCM account classrb/spec/unit/selenium/webdriver/common/fedcm/account_spec.rb
Accountclass.dialog_spec.rb
Add unit tests for FedCM dialog classrb/spec/unit/selenium/webdriver/common/fedcm/dialog_spec.rb
Dialogclass.