Skip to content

Commit 34a0c78

Browse files
committed
More examples
1 parent 7d92ca5 commit 34a0c78

7 files changed

Lines changed: 215 additions & 0 deletions
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System;
5+
using System.Threading.Tasks;
6+
7+
namespace SeleniumDocs.BiDi.BrowsingContext;
8+
9+
partial class BrowsingContextTest
10+
{
11+
[TestMethod]
12+
public async Task BrowsingContextCreatedEvent()
13+
{
14+
await using var bidi = await driver.AsBidirectionalAsync();
15+
16+
BrowsingContextInfo info = null;
17+
18+
await bidi.OnBrowsingContextCreatedAsync(e => info = e);
19+
20+
driver.SwitchTo().NewWindow(OpenQA.Selenium.WindowType.Window);
21+
22+
Assert.IsNotNull(info);
23+
Console.WriteLine(info);
24+
}
25+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System;
5+
using System.Threading.Tasks;
6+
7+
namespace SeleniumDocs.BiDi.BrowsingContext;
8+
9+
partial class BrowsingContextTest
10+
{
11+
[TestMethod]
12+
public async Task BrowsingContextDestroyedEvent()
13+
{
14+
await using var bidi = await driver.AsBidirectionalAsync();
15+
16+
var browsingContext = await driver.AsBidirectionalContextAsync();
17+
18+
TaskCompletionSource<BrowsingContextInfo> tcs = new();
19+
20+
await bidi.OnBrowsingContextDestroyedAsync(tcs.SetResult);
21+
22+
await browsingContext.CloseAsync();
23+
24+
var browsingContextInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
25+
26+
Assert.IsNotNull(browsingContextInfo);
27+
Assert.AreEqual(browsingContext, browsingContextInfo.Context);
28+
Console.WriteLine(browsingContextInfo);
29+
}
30+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System;
5+
using System.Threading.Tasks;
6+
7+
namespace SeleniumDocs.BiDi.BrowsingContext;
8+
9+
partial class BrowsingContextTest
10+
{
11+
[TestMethod]
12+
public async Task BrowsingContextLoadedEvent()
13+
{
14+
var browsingContext = await driver.AsBidirectionalContextAsync();
15+
16+
TaskCompletionSource<NavigationInfo> tcs = new();
17+
18+
await browsingContext.OnLoadAsync(tcs.SetResult);
19+
20+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
21+
22+
var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
23+
24+
Assert.IsNotNull(navigationInfo);
25+
Console.WriteLine(navigationInfo);
26+
}
27+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium.BiDi;
3+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
4+
using System;
5+
using System.Threading.Tasks;
6+
7+
namespace SeleniumDocs.BiDi.BrowsingContext;
8+
9+
partial class BrowsingContextTest
10+
{
11+
[TestMethod]
12+
public async Task DomContentLoadedEvent()
13+
{
14+
var browsingContext = await driver.AsBidirectionalContextAsync();
15+
16+
TaskCompletionSource<NavigationInfo> tcs = new();
17+
18+
await browsingContext.OnDomContentLoadedAsync(tcs.SetResult);
19+
20+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
21+
22+
var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
23+
24+
Assert.IsNotNull(navigationInfo);
25+
Console.WriteLine(navigationInfo);
26+
}
27+
}
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;
5+
using System.Threading;
6+
using System.Threading.Tasks;
7+
8+
namespace SeleniumDocs.BiDi.BrowsingContext;
9+
10+
partial class BrowsingContextTest
11+
{
12+
[TestMethod]
13+
public async Task FragmentNavigatedEvent()
14+
{
15+
var browsingContext = await driver.AsBidirectionalContextAsync();
16+
17+
TaskCompletionSource<NavigationInfo> tcs = new();
18+
19+
await browsingContext.OnFragmentNavigatedAsync(tcs.SetResult);
20+
21+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/linked_image.html#linkToAnchorOnThisPage", new() { Wait = ReadinessState.Complete });
22+
23+
var navigationInfo = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
24+
25+
Assert.IsNotNull(navigationInfo);
26+
Console.WriteLine(navigationInfo);
27+
}
28+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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 NavigationStartedEvent()
12+
{
13+
var browsingContext = await driver.AsBidirectionalContextAsync();
14+
15+
NavigationInfo info = null;
16+
17+
await browsingContext.OnNavigationStartedAsync(e => info = e);
18+
19+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html", new() { Wait = ReadinessState.Complete });
20+
21+
Assert.IsNotNull(info);
22+
}
23+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using OpenQA.Selenium;
3+
using OpenQA.Selenium.BiDi;
4+
using OpenQA.Selenium.BiDi.Modules.BrowsingContext;
5+
using System;
6+
using System.Threading.Tasks;
7+
8+
namespace SeleniumDocs.BiDi.BrowsingContext;
9+
10+
partial class BrowsingContextTest
11+
{
12+
[TestMethod]
13+
public async Task UserPromptOpenedEvent()
14+
{
15+
await using var bidi = await driver.AsBidirectionalAsync();
16+
17+
var browsingContext = await driver.AsBidirectionalContextAsync();
18+
19+
TaskCompletionSource<UserPromptOpenedEventArgs> tcs = new();
20+
21+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/alerts.html", new() { Wait = ReadinessState.Complete });
22+
23+
await bidi.OnUserPromptOpenedAsync(tcs.SetResult);
24+
25+
driver.FindElement(By.Id("prompt")).Click();
26+
27+
var userPromptOpenedEventArgs = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
28+
29+
Assert.IsNotNull(userPromptOpenedEventArgs);
30+
Console.WriteLine(userPromptOpenedEventArgs);
31+
}
32+
33+
[TestMethod]
34+
public async Task UserPromptClosedEvent()
35+
{
36+
await using var bidi = await driver.AsBidirectionalAsync();
37+
38+
var browsingContext = await driver.AsBidirectionalContextAsync();
39+
40+
TaskCompletionSource<UserPromptClosedEventArgs> tcs = new();
41+
42+
await browsingContext.NavigateAsync("https://www.selenium.dev/selenium/web/alerts.html", new() { Wait = ReadinessState.Complete });
43+
44+
await bidi.OnUserPromptClosedAsync(tcs.SetResult);
45+
46+
driver.FindElement(By.Id("prompt")).Click();
47+
48+
//await browsingContext.HandleUserPromptAsync();
49+
50+
var userPromptClosedEventArgs = await tcs.Task.WaitAsync(TimeSpan.FromSeconds(5));
51+
52+
Assert.IsNotNull(userPromptClosedEventArgs);
53+
Console.WriteLine(userPromptClosedEventArgs);
54+
}
55+
}

0 commit comments

Comments
 (0)