-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[rb] Add FedCM support to the ruby selenium client #13796
[rb] Add FedCM support to the ruby selenium client #13796
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 <[email protected]>
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
HasFedCmDialog
extension for handling FedCM dialogs.Account
andDialog
classes to represent and handle FedCM dialogs.Changes walkthrough 📝
13 files
driver.rb
Add FedCM dialog extension to Chromium driver
rb/lib/selenium/webdriver/chromium/driver.rb
DriverExtensions::HasFedCmDialog
to the list of extensions.common.rb
Require FedCM dialog and account in common driver
rb/lib/selenium/webdriver/common.rb
has_fedcm_dialog
extension.fedcm/account
andfedcm/dialog
.has_fedcm_dialog.rb
Implement FedCM dialog handling extension
rb/lib/selenium/webdriver/common/driver_extensions/has_fedcm_dialog.rb
HasFedCmDialog
module with methods to handle FedCM dialogs.fedcm.rb
Autoload FedCM account and dialog modules
rb/lib/selenium/webdriver/common/fedcm.rb
Account
andDialog
underFedCM
module.account.rb
Add FedCM account representation class
rb/lib/selenium/webdriver/common/fedcm/account.rb
Account
class to represent FedCM accounts.dialog.rb
Add FedCM dialog handling class
rb/lib/selenium/webdriver/common/fedcm/dialog.rb
Dialog
class to handle FedCM dialogs.bridge.rb
Add FedCM dialog interaction methods to bridge
rb/lib/selenium/webdriver/remote/bridge.rb
commands.rb
Add FedCM dialog commands to bridge
rb/lib/selenium/webdriver/remote/bridge/commands.rb
fedcm.html
Update FedCM config URL to use HTTP
common/src/web/fedcm/fedcm.html
configURL
to usehttp
instead ofhttps
.fedcm.json
Add login URL to FedCM configuration
common/src/web/fedcm/fedcm.json
login_url
to FedCM configuration.account.rbs
Add type signatures for FedCM account class
rb/sig/lib/selenium/webdriver/fedcm/account.rbs
Account
class.dialog.rbs
Add type signatures for FedCM dialog class
rb/sig/lib/selenium/webdriver/fedcm/dialog.rbs
Dialog
class.bridge.rbs
Add type signatures for FedCM methods in bridge
rb/sig/lib/selenium/webdriver/remote/bridge.rbs
3 files
fedcm_spec.rb
Add integration tests for FedCM dialog
rb/spec/integration/selenium/webdriver/fedcm_spec.rb
account_spec.rb
Add unit tests for FedCM account class
rb/spec/unit/selenium/webdriver/common/fedcm/account_spec.rb
Account
class.dialog_spec.rb
Add unit tests for FedCM dialog class
rb/spec/unit/selenium/webdriver/common/fedcm/dialog_spec.rb
Dialog
class.