You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for contributing to Selenium! A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
When running the CDP tests against the Selenium Grid, the Node process does not stop because the CDP websocket connection is open. The Node process stops if the Selenium Grid is shut down and that causes the websocket connection to close. Ideally, we should be closing the websocket connection when we close the session.
Motivation and Context
Types of changes
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)
Error Handling The new code doesn't include error handling for the websocket close operation, which could potentially throw an error and affect the quit process.
Check if the WebSocket connection is open before closing it
Consider adding a check to ensure that this._wsConnection is not only defined but also in an open state before attempting to close it. This can prevent potential errors if the connection is already closed.
Why: This suggestion is highly relevant as it adds a check to ensure the WebSocket connection is open before attempting to close it, preventing potential errors if the connection is already closed.
9
Error handling
Add error handling when closing the WebSocket connection
Consider adding error handling when closing the WebSocket connection to gracefully handle any potential errors during the closing process.
Why: Adding error handling is a good practice to gracefully manage any potential errors during the WebSocket closing process, enhancing the robustness of the code.
8
Maintainability
Add a comment explaining potential undefined state of WebSocket connection
Consider adding a comment explaining why this._wsConnection might be undefined, to improve code maintainability and understanding for future developers.
+// The WebSocket connection might be undefined if CDP was not used or if the connection failed to establish
if (this._wsConnection !== undefined) {
this._wsConnection.close()
}
Apply this suggestion
Suggestion importance[1-10]: 6
Why: While adding a comment can improve code maintainability and understanding, it is not as crucial as the other suggestions. It provides context for future developers, which is beneficial but not critical.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
Thanks for contributing to Selenium!
A PR well described will help maintainers to quickly review and merge it
Before submitting your PR, please check our contributing guidelines.
Avoid large PRs, help reviewers by making them as simple and short as possible.
Description
When running the CDP tests against the Selenium Grid, the Node process does not stop because the CDP websocket connection is open. The Node process stops if the Selenium Grid is shut down and that causes the websocket connection to close. Ideally, we should be closing the websocket connection when we close the session.
Motivation and Context
Types of changes
Checklist
PR Type
Bug fix
Description
driver.quitis called.Changes walkthrough 📝
webdriver.js
Ensure websocket connection is closed on driver quitjavascript/node/selenium-webdriver/lib/webdriver.js
driver.quit.Selenium Grid.