-
-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
[🐛 Bug]: [dotnet]: RemoteSessionSettings
should allow JsonNode
metadata settings
#14725
Comments
@RenderMichael, thank you for creating this issue. We will troubleshoot it as soon as we can. Info for maintainersTriage this issue by using labels.
If information is missing, add a helpful comment and then
If the issue is a question, add the
If the issue is valid but there is no time to troubleshoot it, consider adding the
If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C),
add the applicable
After troubleshooting the issue, please add the Thank you! |
Oh no! Many years ago (20 years?), I didn't know what was happing in the world of json serialization (I was yang, and didn't know about selenium). Today, we are on the road to be AOT compatible, and you are bringing great value in this area. To be AOT compatible we should refactor existing json serialization, which is
We cannot add more and more infinitely. The next big step will be making commands/responses strongly typed. |
I understand the potential trap of trying to add each and every type to the serialization context. Refactoring away from the In my opinion, this is a special case, because there is an internal method The problem happens with the migration from Newtonsoft to System.Text.Json. The following will have strange results: var jToken = JToken.Parse("\"abc\"");
var jsonNode = JsonNode.Parse("\"abc\"");
var remoteSessionSettings = new RemoteSessionSettings();
remoteSessionSettings.AddMetadataSetting("example", jToken); // works
remoteSessionSettings.AddMetadataSetting("example", jsonNode); // throws This is because Newtonsoft is very loose with type restrictions, and will do its best to make things work, especially when the token is typed as |
This issue has been automatically locked since there has not been any recent activity since it was closed. Please open a new issue for related bugs. |
What happened?
Selenium should accept System.Text.Json types, since that's what is used internally to serialize the request.
(It would also be nice to add explicit overloads to
RemoteSessionSettings.AddMetadataSetting
so it's clear what types are accepted and what types aren't.)How can we reproduce the issue?
Relevant log output
Operating System
Windows 11
Selenium version
.NET
Selenium.WebDriver
4.26.1What are the browser(s) and version(s) where you see this issue?
N/A (didn't get that far)
What are the browser driver(s) and version(s) where you see this issue?
N/A
Are you using Selenium Grid?
No
The text was updated successfully, but these errors were encountered: