66using PuppeteerSharp . Tests . Attributes ;
77using PuppeteerSharp . Nunit ;
88using NUnit . Framework ;
9- using NUnit . Framework . Internal . Execution ;
109
1110namespace PuppeteerSharp . Tests . DefaultBrowserContextTests
1211{
@@ -21,19 +20,19 @@ public BrowserTargetEventsTests(): base()
2120 public async Task ShouldWork ( )
2221 {
2322 using var browser = await Puppeteer . LaunchAsync ( TestConstants . DefaultBrowserOptions ( ) ) ;
23+
24+ // .NET has a race here where we get the target created of the default page.
25+ // We will wait for the new page before moving on.
26+ await browser . PagesAsync ( ) ;
2427 var events = new List < string > ( ) ;
25- browser . TargetCreated += ( _ , t ) => events . Add ( $ "CREATED { t . Target . GetHashCode ( ) } ") ;
26- browser . TargetChanged += ( _ , t ) => events . Add ( $ "CHANGED { t . Target . GetHashCode ( ) } ") ;
27- browser . TargetDestroyed += ( _ , t ) => events . Add ( $ "DESTROYED { t . Target . GetHashCode ( ) } ") ;
28+ browser . TargetCreated += ( _ , _ ) => events . Add ( "CREATED" ) ;
29+ browser . TargetChanged += ( _ , _ ) => events . Add ( "CHANGED" ) ;
30+ browser . TargetDestroyed += ( _ , _ ) => events . Add ( "DESTROYED" ) ;
2831 var page = await browser . NewPageAsync ( ) ;
2932 await page . GoToAsync ( TestConstants . EmptyPage ) ;
3033 await page . CloseAsync ( ) ;
3134
32- // TODO: Review why these might come in different order
33- Assert . AreEqual ( 3 , events . Count , $ "Events: { string . Join ( ", " , events ) } ") ;
34- Assert . That ( events , Does . Contain ( "CREATED" ) ) ;
35- Assert . That ( events , Does . Contain ( "CHANGED" ) ) ;
36- Assert . That ( events , Does . Contain ( "DESTROYED" ) ) ;
35+ Assert . AreEqual ( new [ ] { "CREATED" , "CHANGED" , "DESTROYED" } , events ) ;
3736 }
3837 }
3938}
0 commit comments