@@ -33,6 +33,8 @@ protected override void InitializeAsyncCore()
3333
3434 public string TestUrl { get ; set ; } = "/subdir/persistent-state/disconnection" ;
3535
36+ public bool UseShadowRoot { get ; set ; } = true ;
37+
3638 [ Fact ]
3739 public void CanResumeCircuitAfterDisconnection ( )
3840 {
@@ -146,17 +148,20 @@ private void TriggerClientPauseAndInteract(IJavaScriptExecutor javascript)
146148 var previousText = Browser . Exists ( By . Id ( "persistent-counter-render" ) ) . Text ;
147149 javascript . ExecuteScript ( "Blazor.pause()" ) ;
148150 Browser . Equal ( "block" , ( ) => Browser . Exists ( By . Id ( "components-reconnect-modal" ) ) . GetCssValue ( "display" ) ) ;
149- var shadowRoot = Browser . Exists ( By . Id ( "components-reconnect-modal" ) ) . GetShadowRoot ( ) ;
150151
151152 // Retry button should be hidden
152153 Browser . Equal (
153154 ( false , true ) ,
154155 ( ) => Browser . Exists (
155156 ( ) =>
156157 {
157- var buttons = Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
158- . GetShadowRoot ( )
159- . FindElements ( By . CssSelector ( ".components-reconnect-dialog button" ) ) ;
158+ var buttons = UseShadowRoot ?
159+ Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
160+ . GetShadowRoot ( )
161+ . FindElements ( By . CssSelector ( ".components-reconnect-dialog button" ) ) :
162+ Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
163+ . FindElements ( By . CssSelector ( ".components-reconnect-container button" ) ) ;
164+
160165 Assert . Equal ( 2 , buttons . Count ) ;
161166 return ( buttons [ 0 ] . Displayed , buttons [ 1 ] . Displayed ) ;
162167 } ,
@@ -165,9 +170,12 @@ private void TriggerClientPauseAndInteract(IJavaScriptExecutor javascript)
165170 Browser . Exists (
166171 ( ) =>
167172 {
168- var buttons = Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
169- . GetShadowRoot ( )
170- . FindElements ( By . CssSelector ( ".components-reconnect-dialog button" ) ) ;
173+ var buttons = UseShadowRoot ?
174+ Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
175+ . GetShadowRoot ( )
176+ . FindElements ( By . CssSelector ( ".components-reconnect-dialog button" ) ) :
177+ Browser . Exists ( By . Id ( "components-reconnect-modal" ) )
178+ . FindElements ( By . CssSelector ( ".components-reconnect-container button" ) ) ;
171179 return buttons [ 1 ] ;
172180 } ,
173181 TimeSpan . FromSeconds ( 1 ) ) . Click ( ) ;
@@ -190,6 +198,13 @@ public CustomUIServerResumeTests(
190198 ITestOutputHelper output )
191199 : base ( browserFixture , serverFixture , output )
192200 {
193- TestUrl = "/subdir/persistent-state/disconnection?use-custom-ui=true" ;
201+ TestUrl = "/subdir/persistent-state/disconnection?custom-reconnect-ui=true" ;
202+ UseShadowRoot = false ; // Custom UI does not use shadow DOM
203+ }
204+
205+ protected override void InitializeAsyncCore ( )
206+ {
207+ base . InitializeAsyncCore ( ) ;
208+ Browser . Exists ( By . CssSelector ( "#components-reconnect-modal[data-nosnippet]" ) ) ;
194209 }
195210}
0 commit comments