From ce3380d1ff5e8f7153414603e60960bd29449fa3 Mon Sep 17 00:00:00 2001 From: Michael Render Date: Sun, 30 Nov 2025 23:51:49 -0500 Subject: [PATCH 1/2] [dotnet] Fix nullability annotations on `NodeRemoteValue` --- dotnet/src/webdriver/BiDi/Script/RemoteValue.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dotnet/src/webdriver/BiDi/Script/RemoteValue.cs b/dotnet/src/webdriver/BiDi/Script/RemoteValue.cs index af66335413c3c..d7d54a147d448 100644 --- a/dotnet/src/webdriver/BiDi/Script/RemoteValue.cs +++ b/dotnet/src/webdriver/BiDi/Script/RemoteValue.cs @@ -252,7 +252,7 @@ public sealed record HtmlCollectionRemoteValue : RemoteValue public IReadOnlyList? Value { get; set; } } -public sealed record NodeRemoteValue(string? SharedId, NodeProperties? Value) : RemoteValue, ISharedReference +public sealed record NodeRemoteValue(string SharedId, NodeProperties? Value) : RemoteValue, ISharedReference { public Handle? Handle { get; set; } From be80e77b098511c63cde117094affbb261594808 Mon Sep 17 00:00:00 2001 From: Michael Render Date: Sun, 30 Nov 2025 23:59:52 -0500 Subject: [PATCH 2/2] [dotnet] Improve test for SharedId --- .../BiDi/Script/CallFunctionParameterTest.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/dotnet/test/common/BiDi/Script/CallFunctionParameterTest.cs b/dotnet/test/common/BiDi/Script/CallFunctionParameterTest.cs index a2a4c3e5b4da4..666643f335f14 100644 --- a/dotnet/test/common/BiDi/Script/CallFunctionParameterTest.cs +++ b/dotnet/test/common/BiDi/Script/CallFunctionParameterTest.cs @@ -18,6 +18,7 @@ // using NUnit.Framework; +using System.Runtime.CompilerServices; using System.Threading.Tasks; namespace OpenQA.Selenium.BiDi.Script; @@ -104,7 +105,10 @@ public async Task CanCallFunctionToGetElement() Assert.That(res, Is.Not.Null); Assert.That(res.AsSuccessResult(), Is.AssignableFrom()); - Assert.That((res.AsSuccessResult() as NodeRemoteValue).Value, Is.Not.Null); + + var node = (NodeRemoteValue)res.AsSuccessResult(); + Assert.That(node.Value, Is.Not.Null); + Assert.That(node.SharedId, Is.EqualTo(GetElementId(By.Id("consoleLog")))); } [Test] @@ -219,4 +223,13 @@ public async Task CanCallFunctionInARealm() Assert.That(res1, Is.EqualTo(3)); Assert.That(res2, Is.EqualTo(5)); } + + private string GetElementId(By selector) + { + var element = (WebElement)driver.FindElement(selector); + return ReflectElementId(element); + + [UnsafeAccessor(UnsafeAccessorKind.Method, Name = "get_Id")] + static extern string ReflectElementId(WebElement element); + } }