diff --git a/examples/dotnet/SeleniumDocs/BaseTest.cs b/examples/dotnet/SeleniumDocs/BaseTest.cs
index 18c17c3bb3f..e51824647a0 100644
--- a/examples/dotnet/SeleniumDocs/BaseTest.cs
+++ b/examples/dotnet/SeleniumDocs/BaseTest.cs
@@ -37,8 +37,12 @@ protected void StartDriver(string browserVersion = "stable")
         {
             ChromeOptions options = new ChromeOptions
             {
-                BrowserVersion = browserVersion
+                BrowserVersion = browserVersion,
+                UseWebSocketUrl = true,
             };
+
+            options.AddArgument("--no-sandbox");
+
             driver = new ChromeDriver(options);
         }
 
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Activate.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Activate.cs
new file mode 100644
index 00000000000..65fbf274207
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Activate.cs
@@ -0,0 +1,13 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task Activate()
+    {
+        await context.ActivateAsync();
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.CaptureScreenshot.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.CaptureScreenshot.cs
new file mode 100644
index 00000000000..590d36a8737
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.CaptureScreenshot.cs
@@ -0,0 +1,40 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task CaptureScreenshot()
+    {
+        var screenshot = await context.CaptureScreenshotAsync();
+
+        Assert.IsNotNull(screenshot);
+        Assert.IsNotNull(screenshot.Data);
+        Assert.IsNotNull(screenshot.ToByteArray());
+    }
+
+    [TestMethod]
+    public async Task CaptureViewportScreenshot()
+    {
+        var screenshot = await context.CaptureScreenshotAsync(new() { Clip = new BoxClipRectangle(5, 5, 10, 10) });
+
+        Assert.IsNotNull(screenshot);
+        Assert.IsNotNull(screenshot.Data);
+    }
+
+    [TestMethod]
+    public async Task CaptureElementScreenshot()
+    {
+        driver.Url = "https://www.selenium.dev/selenium/web/formPage.html";
+
+        var element = (await context.LocateNodesAsync(new CssLocator("#checky")))[0];
+
+        var screenshot = await context.CaptureScreenshotAsync(new() { Clip = new ElementClipRectangle(element) });
+
+        Assert.IsNotNull(screenshot);
+        Assert.IsNotNull(screenshot.Data);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Close.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Close.cs
new file mode 100644
index 00000000000..cc048f96d04
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Close.cs
@@ -0,0 +1,24 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task CloseTab()
+    {
+        var context = await bidi.BrowsingContext.CreateAsync(ContextType.Tab);
+
+        await context.CloseAsync();
+    }
+
+    [TestMethod]
+    public async Task CloseWindow()
+    {
+        var context = await bidi.BrowsingContext.CreateAsync(ContextType.Window);
+
+        await context.CloseAsync();
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Create.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Create.cs
new file mode 100644
index 00000000000..cff30acced7
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Create.cs
@@ -0,0 +1,57 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task OpenNewTab()
+    {
+        var bidi = await driver.AsBiDiAsync();
+
+        var context = await bidi.BrowsingContext.CreateAsync(ContextType.Tab);
+
+        Assert.IsNotNull(context);
+    }
+
+    [TestMethod]
+    public async Task OpenNewWindow()
+    {
+        var bidi = await driver.AsBiDiAsync();
+
+        var context = await bidi.BrowsingContext.CreateAsync(ContextType.Window);
+
+        Assert.IsNotNull(context);
+    }
+
+    [TestMethod]
+    public async Task OpenTabWithReferenceBrowsingContext()
+    {
+        var context1 = context;
+
+        var context2 = await context1.BiDi.BrowsingContext.CreateAsync(ContextType.Tab, new() { ReferenceContext = context1 });
+
+        Assert.IsNotNull(context2);
+    }
+
+    [TestMethod]
+    public async Task OpenWindowWithReferenceBrowsingContext()
+    {
+        var context1 = context;
+
+        var context2 = await context1.BiDi.BrowsingContext.CreateAsync(ContextType.Window, new() { ReferenceContext = context1 });
+
+        Assert.IsNotNull(context2);
+    }
+
+    [TestMethod]
+    public async Task UseExistingWindowHandle()
+    {
+        var context = (await bidi.BrowsingContext.GetTreeAsync())[0].Context;
+
+        Assert.IsNotNull(context);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextCreated.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextCreated.cs
new file mode 100644
index 00000000000..94f58ecba26
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextCreated.cs
@@ -0,0 +1,24 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task BrowsingContextCreatedEvent()
+    {
+        TaskCompletionSource<BrowsingContextInfo> tcs = new();
+
+        await bidi.BrowsingContext.OnContextCreatedAsync(tcs.SetResult);
+
+        driver.SwitchTo().NewWindow(OpenQA.Selenium.WindowType.Window);
+
+        var info = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(info);
+        Console.WriteLine(info);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextDestroyed.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextDestroyed.cs
new file mode 100644
index 00000000000..f74d3f1e555
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextDestroyed.cs
@@ -0,0 +1,25 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task BrowsingContextDestroyedEvent()
+    {
+        TaskCompletionSource<BrowsingContextInfo> tcs = new();
+
+        await bidi.BrowsingContext.OnContextDestroyedAsync(tcs.SetResult);
+
+        await context.CloseAsync();
+
+        var contextInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(contextInfo);
+        Assert.AreEqual(context, contextInfo.Context);
+        Console.WriteLine(contextInfo);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextLoaded.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextLoaded.cs
new file mode 100644
index 00000000000..fb5c12c3f43
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.BrowsingContextLoaded.cs
@@ -0,0 +1,24 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task BrowsingContextLoadedEvent()
+    {
+        TaskCompletionSource<NavigationInfo> tcs = new();
+
+        await context.OnLoadAsync(tcs.SetResult);
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(navigationInfo);
+        Console.WriteLine(navigationInfo);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.DomContentLoaded.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.DomContentLoaded.cs
new file mode 100644
index 00000000000..8745016d758
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.DomContentLoaded.cs
@@ -0,0 +1,24 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task DomContentLoadedEvent()
+    {
+        TaskCompletionSource<NavigationInfo> tcs = new();
+
+        await context.OnDomContentLoadedAsync(tcs.SetResult);
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(navigationInfo);
+        Console.WriteLine(navigationInfo);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.FragmentNavigated.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.FragmentNavigated.cs
new file mode 100644
index 00000000000..0c5f080c1ed
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.FragmentNavigated.cs
@@ -0,0 +1,26 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task FragmentNavigatedEvent()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/linked_image.html", new() { Wait = ReadinessState.Complete });
+
+        TaskCompletionSource<NavigationInfo> tcs = new();
+
+        await context.OnFragmentNavigatedAsync(tcs.SetResult);
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/linked_image.html#linkToAnchorOnThisPage", new() { Wait = ReadinessState.Complete });
+
+        var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(navigationInfo);
+        Console.WriteLine(navigationInfo);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.NavigationStarted.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.NavigationStarted.cs
new file mode 100644
index 00000000000..e8d2d5ccc16
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.NavigationStarted.cs
@@ -0,0 +1,23 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task NavigationStartedEvent()
+    {
+        TaskCompletionSource<NavigationInfo> tcs = new();
+
+        await context.OnNavigationStartedAsync(tcs.SetResult);
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        var info = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(info);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.UserPrompt.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.UserPrompt.cs
new file mode 100644
index 00000000000..0b6415ffa36
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Event.UserPrompt.cs
@@ -0,0 +1,48 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task UserPromptOpenedEvent()
+    {
+        TaskCompletionSource<UserPromptOpenedEventArgs> tcs = new();
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/alerts.html", new() { Wait = ReadinessState.Complete });
+
+        //TODO; THhis event can be a part of context
+        await bidi.BrowsingContext.OnUserPromptOpenedAsync(tcs.SetResult);
+
+        driver.FindElement(By.Id("prompt")).Click();
+
+        var userPromptOpenedEventArgs = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(userPromptOpenedEventArgs);
+        Console.WriteLine(userPromptOpenedEventArgs);
+    }
+
+    [TestMethod]
+    public async Task UserPromptClosedEvent()
+    {
+        TaskCompletionSource<UserPromptClosedEventArgs> tcs = new();
+
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/alerts.html", new() { Wait = ReadinessState.Complete });
+
+        //TODO; THhis event can be a part of context
+        await bidi.BrowsingContext.OnUserPromptClosedAsync(tcs.SetResult);
+        
+        driver.FindElement(By.Id("prompt")).Click();
+
+        //await context.HandleUserPromptAsync();
+
+        var userPromptClosedEventArgs = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
+
+        Assert.IsNotNull(userPromptClosedEventArgs);
+        Console.WriteLine(userPromptClosedEventArgs);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.GetTree.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.GetTree.cs
new file mode 100644
index 00000000000..7eb40ec9f2e
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.GetTree.cs
@@ -0,0 +1,43 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task GetBrowsingContextTree()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/iframes.html", new() { Wait = ReadinessState.Complete });
+
+        var contexts = await context.GetTreeAsync();
+
+        Assert.AreEqual(1, contexts.Count);
+        Assert.IsNotNull(contexts[0].Children);
+        Assert.IsTrue(contexts[0].Children.Count >= 1, "Context should contain iframes as children");
+    }
+
+    [TestMethod]
+    public async Task GetBrowsingContextTreeWithDepth()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/iframes.html", new() { Wait = ReadinessState.Complete });
+
+        var contexts = await context.GetTreeAsync(new() { MaxDepth = 0 });
+
+        Assert.AreEqual(1, contexts.Count);
+        Assert.IsNull(contexts[0].Children, "Context should not contain iframes as children since depth is 0");
+    }
+
+    [TestMethod]
+    public async Task GetAllTopLevelBrowingContexts()
+    {
+        var window = await bidi.BrowsingContext.CreateAsync(ContextType.Window);
+
+        var contexts = await bidi.BrowsingContext.GetTreeAsync();
+
+        Assert.AreEqual(2, contexts.Count);
+        Assert.AreEqual(contexts[1].Context, window);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.HandleUserPrompt.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.HandleUserPrompt.cs
new file mode 100644
index 00000000000..516918cb90f
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.HandleUserPrompt.cs
@@ -0,0 +1,27 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium;
+using OpenQA.Selenium.BiDi;
+using OpenQA.Selenium.Firefox;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task HandleUserPrompt()
+    {
+        // temporary use firefox because of chrome automatically handle prompts
+        using var driver = new FirefoxDriver(new FirefoxOptions() { UseWebSocketUrl = true });
+
+        var bidi = await driver.AsBiDiAsync();
+
+        var context = (await bidi.BrowsingContext.GetTreeAsync())[0].Context;
+
+        driver.Url = "https://www.selenium.dev/selenium/web/alerts.html";
+
+        driver.FindElement(By.Id("prompt-with-default")).Click();
+
+        await context.HandleUserPromptAsync(new() { Accept = true, UserText = "Selenium automates browsers" });
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Navigate.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Navigate.cs
new file mode 100644
index 00000000000..c00b18b0839
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Navigate.cs
@@ -0,0 +1,66 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task NavigateToUrl()
+    {
+        var info = await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");
+
+        Assert.IsNotNull(info);
+        Assert.IsNotNull(info.Navigation);
+        StringAssert.Contains(info.Url, "/bidi/logEntryAdded.html");
+    }
+
+    [TestMethod]
+    public async Task NavigateToUrlWithReadinessState()
+    {
+        var info = await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        Assert.IsNotNull(info);
+        Assert.IsNotNull(info.Navigation);
+        StringAssert.Contains(info.Url, "/bidi/logEntryAdded.html");
+    }
+
+    [TestMethod]
+    public async Task NavigateBack()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        await context.NavigateBackAsync();
+
+        var url = (await context.GetTreeAsync())[0].Url;
+
+        Assert.AreEqual("about:blank", url);
+    }
+
+    [TestMethod]
+    public async Task NavigateForward()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        await context.NavigateBackAsync();
+
+        await context.NavigateForwardAsync();
+
+        var url = (await context.GetTreeAsync())[0].Url;
+
+        Assert.AreEqual("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", url);
+    }
+
+    [TestMethod]
+    public async Task TraverseHistory()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        await context.TraverseHistoryAsync(-1);
+
+        var url = (await context.GetTreeAsync())[0].Url;
+
+        Assert.AreEqual("about:blank", url);
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Print.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Print.cs
new file mode 100644
index 00000000000..07056fd63ce
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Print.cs
@@ -0,0 +1,17 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task PrintPage()
+    {
+        var pdf = await context.PrintAsync(new() { PageRanges = [1, 2, 3..5, new(3, 5), 7..] });
+
+        Assert.IsNotNull(pdf);
+        Assert.IsNotNull(pdf.Data);
+        Assert.IsNotNull(pdf.ToByteArray());
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Reload.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Reload.cs
new file mode 100644
index 00000000000..963ce3f3421
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.Reload.cs
@@ -0,0 +1,20 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task Reload()
+    {
+        await context.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
+
+        var info = await context.ReloadAsync();
+
+        Assert.IsNotNull(info);
+        Assert.IsNotNull(info.Navigation);
+        StringAssert.Contains(info.Url, "/bidi/logEntryAdded.html");
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.SetViewport.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.SetViewport.cs
new file mode 100644
index 00000000000..9bba6128cc3
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.SetViewport.cs
@@ -0,0 +1,13 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+partial class BrowsingContextTest
+{
+    [TestMethod]
+    public async Task SetViewport()
+    {
+        await context.SetViewportAsync(new() { Viewport = new(Width: 250, Height: 300), DevicePixelRatio = 5 });
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.cs b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.cs
new file mode 100644
index 00000000000..530ea1ff27c
--- /dev/null
+++ b/examples/dotnet/SeleniumDocs/BiDi/BrowsingContext/BrowsingContextTest.cs
@@ -0,0 +1,21 @@
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using OpenQA.Selenium.BiDi;
+using System.Threading.Tasks;
+
+namespace SeleniumDocs.BiDi.BrowsingContext;
+
+[TestClass]
+public partial class BrowsingContextTest : BaseChromeTest
+{
+    private OpenQA.Selenium.BiDi.BiDi bidi;
+
+    private OpenQA.Selenium.BiDi.Modules.BrowsingContext.BrowsingContext context;
+
+    [TestInitialize]
+    public async Task InitializeBidi()
+    {
+        bidi = await driver.AsBiDiAsync();
+
+        context = (await bidi.BrowsingContext.GetTreeAsync())[0].Context;
+    }
+}
diff --git a/examples/dotnet/SeleniumDocs/SeleniumDocs.csproj b/examples/dotnet/SeleniumDocs/SeleniumDocs.csproj
index 264303d3d12..6bdbfb77b2e 100644
--- a/examples/dotnet/SeleniumDocs/SeleniumDocs.csproj
+++ b/examples/dotnet/SeleniumDocs/SeleniumDocs.csproj
@@ -10,8 +10,8 @@
       <PackageReference Include="Microsoft.IdentityModel.Tokens" Version="7.7.1" />
       <PackageReference Include="MSTest.TestAdapter" Version="3.6.0" />
       <PackageReference Include="MSTest.TestFramework" Version="3.6.0" />
-      <PackageReference Include="Selenium.Support" Version="4.29.0" />
-      <PackageReference Include="Selenium.WebDriver" Version="4.29.0" />
+      <PackageReference Include="Selenium.Support" Version="4.30.0" />
+      <PackageReference Include="Selenium.WebDriver" Version="4.30.0" />
     </ItemGroup>
 
     <ItemGroup>