1- using System ;
21using System . Linq ;
32using System . Threading . Tasks ;
43using Microsoft . AspNetCore . Connections . Features ;
@@ -11,16 +10,13 @@ namespace PuppeteerSharp.Tests.LauncherTests
1110{
1211 public class PuppeteerConnectTests : PuppeteerBrowserBaseTest
1312 {
14- public PuppeteerConnectTests ( ) : base ( )
15- {
16- }
17-
1813 [ Test , Retry ( 2 ) , PuppeteerTest ( "launcher.spec" , "Launcher specs Puppeteer Puppeteer.connect" , "should be able to connect multiple times to the same browser" ) ]
1914 public async Task ShouldBeAbleToConnectMultipleTimesToSameBrowser ( )
2015 {
2116 var options = new ConnectOptions ( )
2217 {
23- BrowserWSEndpoint = Browser . WebSocketEndpoint
18+ BrowserWSEndpoint = Browser . WebSocketEndpoint ,
19+ Protocol = ( ( Browser ) Browser ) . Protocol ,
2420 } ;
2521 var browser = await Puppeteer . ConnectAsync ( options , TestConstants . LoggerFactory ) ;
2622 await using ( var page = await browser . NewPageAsync ( ) )
@@ -55,30 +51,29 @@ await Task.WhenAll(
5551 [ Test , Retry ( 2 ) , PuppeteerTest ( "launcher.spec" , "Launcher specs Puppeteer Puppeteer.connect" , "should support ignoreHTTPSErrors option" ) ]
5652 public async Task ShouldSupportIgnoreHTTPSErrorsOption ( )
5753 {
58- await using ( var originalBrowser = await Puppeteer . LaunchAsync ( TestConstants . DefaultBrowserOptions ( ) ) )
59- await using ( var browser = await Puppeteer . ConnectAsync ( new ConnectOptions
54+ await using var originalBrowser = await Puppeteer . LaunchAsync ( TestConstants . DefaultBrowserOptions ( ) ) ;
55+ await using var browser = await Puppeteer . ConnectAsync ( new ConnectOptions
6056 {
6157 BrowserWSEndpoint = originalBrowser . WebSocketEndpoint ,
62- IgnoreHTTPSErrors = true
63- } ) )
64- await using ( var page = await browser . NewPageAsync ( ) )
65- {
66- var requestTask = HttpsServer . WaitForRequest (
67- "/empty.html" ,
68- request => request ? . HttpContext ? . Features ? . Get < ITlsHandshakeFeature > ( ) ? . Protocol ) ;
69- var responseTask = page . GoToAsync ( TestConstants . HttpsPrefix + "/empty.html" ) ;
70-
71- await Task . WhenAll (
72- requestTask ,
73- responseTask ) . WithTimeout ( Puppeteer . DefaultTimeout ) ;
74-
75- var response = responseTask . Result ;
76- Assert . True ( response . Ok ) ;
77- Assert . NotNull ( response . SecurityDetails ) ;
78- Assert . AreEqual (
79- TestUtils . CurateProtocol ( requestTask . Result . ToString ( ) ) ,
80- TestUtils . CurateProtocol ( response . SecurityDetails . Protocol ) ) ;
81- }
58+ IgnoreHTTPSErrors = true ,
59+ Protocol = ( ( Browser ) Browser ) . Protocol ,
60+ } ) ;
61+ await using var page = await browser . NewPageAsync ( ) ;
62+ var requestTask = HttpsServer . WaitForRequest (
63+ "/empty.html" ,
64+ request => request ? . HttpContext . Features . Get < ITlsHandshakeFeature > ( ) ? . Protocol ) ;
65+ var responseTask = page . GoToAsync ( TestConstants . HttpsPrefix + "/empty.html" ) ;
66+
67+ await Task . WhenAll (
68+ requestTask ,
69+ responseTask ) . WithTimeout ( Puppeteer . DefaultTimeout ) ;
70+
71+ var response = responseTask . Result ;
72+ Assert . True ( response . Ok ) ;
73+ Assert . NotNull ( response . SecurityDetails ) ;
74+ Assert . AreEqual (
75+ TestUtils . CurateProtocol ( requestTask . Result . ToString ( ) ) ,
76+ TestUtils . CurateProtocol ( response . SecurityDetails . Protocol ) ) ;
8277 }
8378
8479 [ Test , Retry ( 2 ) , PuppeteerTest ( "launcher.spec" , "Launcher specs Puppeteer Puppeteer.connect" , "should support targetFilter option" ) ]
@@ -94,7 +89,8 @@ public async Task ShouldSupportTargetFilter()
9489 var remoteBrowser = await Puppeteer . ConnectAsync ( new ConnectOptions
9590 {
9691 BrowserWSEndpoint = browser . WebSocketEndpoint ,
97- TargetFilter = ( Target target ) => ! target . Url . Contains ( "should-be-ignored" ) ,
92+ TargetFilter = target => ! target . Url . Contains ( "should-be-ignored" ) ,
93+ Protocol = ( ( Browser ) browser ) . Protocol ,
9894 } , TestConstants . LoggerFactory ) ;
9995
10096 var pages = await remoteBrowser . PagesAsync ( ) ;
@@ -105,7 +101,7 @@ public async Task ShouldSupportTargetFilter()
105101 "about:blank" ,
106102 TestConstants . EmptyPage
107103 } ,
108- pages . Select ( ( IPage p ) => p . Url ) . OrderBy ( t => t ) ) ;
104+ pages . Select ( p => p . Url ) . OrderBy ( t => t ) ) ;
109105
110106 await page2 . CloseAsync ( ) ;
111107 await page1 . CloseAsync ( ) ;
@@ -136,7 +132,8 @@ public async Task ShouldBeAbleToReconnectToADisconnectedBrowser()
136132 {
137133 var options = new ConnectOptions ( )
138134 {
139- BrowserWSEndpoint = Browser . WebSocketEndpoint
135+ BrowserWSEndpoint = Browser . WebSocketEndpoint ,
136+ Protocol = ( ( Browser ) Browser ) . Protocol ,
140137 } ;
141138
142139 var url = TestConstants . ServerUrl + "/frames/nested-frames.html" ;
@@ -161,7 +158,8 @@ public async Task ShouldBeAbleToConnectToTheSamePageSimultaneously()
161158 var browserOne = await Puppeteer . LaunchAsync ( new LaunchOptions ( ) ) ;
162159 var browserTwo = await Puppeteer . ConnectAsync ( new ConnectOptions
163160 {
164- BrowserWSEndpoint = browserOne . WebSocketEndpoint
161+ BrowserWSEndpoint = browserOne . WebSocketEndpoint ,
162+ Protocol = ( ( Browser ) browserOne ) . Protocol ,
165163 } ) ;
166164 var tcs = new TaskCompletionSource < IPage > ( ) ;
167165 async void TargetCreated ( object sender , TargetChangedArgs e )
@@ -192,7 +190,8 @@ public async Task ShouldBeAbleToReconnect()
192190
193191 var browserTwo = await Puppeteer . ConnectAsync ( new ConnectOptions
194192 {
195- BrowserWSEndpoint = browserWSEndpoint
193+ BrowserWSEndpoint = browserWSEndpoint ,
194+ Protocol = ( ( Browser ) browserOne ) . Protocol ,
196195 } ) ;
197196
198197 var pages = await browserTwo . PagesAsync ( ) ;
0 commit comments