Skip to content

Commit 7d92ca5

Browse files
committed
Some tests for browsing context
1 parent 03705be commit 7d92ca5

7 files changed

Lines changed: 134 additions & 2 deletions

File tree

examples/dotnet/SeleniumDocs/BaseTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ protected void StartDriver(string browserVersion = "stable")
3737
{
3838
ChromeOptions options = new ChromeOptions
3939
{
40-
BrowserVersion = browserVersion
40+
BrowserVersion = browserVersion,
41+
UseWebSocketUrl = true,
4142
};
4243
driver = new ChromeDriver(options);
4344
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System.Threading.Tasks;
5+
6+
namespace SeleniumDocs.BiDi.BrowsingContext;
7+
8+
partial class BrowsingContextTest
9+
{
10+
[TestMethod]
11+
public async Task OpenNewTab()
12+
{
13+
await using var bidi = await driver.AsBidirectionalAsync();
14+
15+
var browsingContext = await bidi.CreateBrowsingContextAsync(BrowsingContextType.Tab);
16+
17+
Assert.IsNotNull(browsingContext);
18+
}
19+
20+
[TestMethod]
21+
public async Task OpenNewWindow()
22+
{
23+
await using var bidi = await driver.AsBidirectionalAsync();
24+
25+
var browsingContext = await bidi.CreateBrowsingContextAsync(BrowsingContextType.Window);
26+
27+
Assert.IsNotNull(browsingContext);
28+
}
29+
30+
[TestMethod]
31+
public async Task OpenTabWithReferenceBrowsingContext()
32+
{
33+
await using var bidi = await driver.AsBidirectionalAsync();
34+
35+
var browsingContext1 = await driver.AsBidirectionalContextAsync();
36+
37+
var browsingContext2 = await bidi.CreateBrowsingContextAsync(BrowsingContextType.Tab, new() { ReferenceContext = browsingContext1 });
38+
39+
Assert.IsNotNull(browsingContext2);
40+
}
41+
42+
[TestMethod]
43+
public async Task OpenWindowWithReferenceBrowsingContext()
44+
{
45+
await using var bidi = await driver.AsBidirectionalAsync();
46+
47+
var browsingContext1 = await driver.AsBidirectionalContextAsync();
48+
49+
var browsingContext2 = await bidi.CreateBrowsingContextAsync(BrowsingContextType.Window, new() { ReferenceContext = browsingContext1 });
50+
51+
Assert.IsNotNull(browsingContext2);
52+
}
53+
54+
[TestMethod]
55+
public async Task UseExistingWindowHandle()
56+
{
57+
var browsingContext = await driver.AsBidirectionalContextAsync();
58+
59+
Assert.IsNotNull(browsingContext);
60+
}
61+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System.Threading.Tasks;
5+
6+
namespace SeleniumDocs.BiDi.BrowsingContext;
7+
8+
partial class BrowsingContextTest
9+
{
10+
[TestMethod]
11+
public async Task GetBrowsingContextTree()
12+
{
13+
await using var bidi = await driver.AsBidirectionalAsync();
14+
15+
var parentBrowsingContext = await driver.AsBidirectionalContextAsync();
16+
17+
var browsingContext = await bidi.CreateBrowsingContextAsync(BrowsingContextType.Tab, new() { ReferenceContext = parentBrowsingContext });
18+
19+
var tree = await bidi.GetBrowsingContextTreeAsync(new() { Root = parentBrowsingContext });
20+
21+
Assert.IsNotNull(tree);
22+
Assert.AreEqual(1, tree.Count);
23+
Assert.AreEqual(parentBrowsingContext, tree[0].Context);
24+
Assert.IsNotNull(tree[0].Children);
25+
Assert.AreEqual(1, tree[0].Children.Count);
26+
Assert.AreEqual(browsingContext, tree[0].Children[0].Context);
27+
}
28+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System.Threading.Tasks;
5+
6+
namespace SeleniumDocs.BiDi.BrowsingContext;
7+
8+
partial class BrowsingContextTest
9+
{
10+
[TestMethod]
11+
public async Task NavigateToUrl()
12+
{
13+
var browsingContext = await driver.AsBidirectionalContextAsync();
14+
15+
var info = await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");
16+
17+
Assert.IsNotNull(info);
18+
Assert.IsNotNull(info.Navigation);
19+
StringAssert.Contains(info.Url, "/bidi/logEntryAdded.html");
20+
}
21+
22+
[TestMethod]
23+
public async Task NavigateToUrlWithReadinessState()
24+
{
25+
var browsingContext = await driver.AsBidirectionalContextAsync();
26+
27+
var info = await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
28+
29+
Assert.IsNotNull(info);
30+
Assert.IsNotNull(info.Navigation);
31+
StringAssert.Contains(info.Url, "/bidi/logEntryAdded.html");
32+
}
33+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
3+
namespace SeleniumDocs.BiDi.BrowsingContext;
4+
5+
[TestClass]
6+
public partial class BrowsingContextTest : BaseChromeTest
7+
{
8+
}

examples/dotnet/SeleniumDocs/NuGet.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
<configuration>
33
<packageSources>
44
<add key="Local Folder" value="LocalPackages" />
5+
<add key="GitHub Packages" value="https://nuget.pkg.github.com/SeleniumHQ/index.json" />
56
</packageSources>
67
</configuration>

examples/dotnet/SeleniumDocs/SeleniumDocs.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<PackageReference Include="MSTest.TestAdapter" Version="3.5.2" />
1212
<PackageReference Include="MSTest.TestFramework" Version="3.5.2" />
1313
<PackageReference Include="Selenium.Support" Version="4.24.0" />
14-
<PackageReference Include="Selenium.WebDriver" Version="4.24.0" />
14+
<PackageReference Include="Selenium.WebDriver" Version="4.25.0-nightly202409100009" />
1515
</ItemGroup>
1616

1717
<ItemGroup>

0 commit comments

Comments
 (0)