@@ -9,37 +9,43 @@ namespace OrchardCoreContrib.Testing.UI;
99/// Creates an instance of <see cref="Page"/>.
1010/// </remarks>
1111/// <param name="playwrightPageAccessor">The <see cref="IPlaywrightPageAccessor"/>.</param>
12- public class Page ( IBrowser browser , IPlaywrightPageAccessor playwrightPageAccessor ) : IPage
12+ public class Page ( IPlaywrightPageAccessor playwrightPageAccessor ) : IPage
1313{
14- private readonly PageClickOptions _pageClickOptions = browser . Delay == 0
15- ? null
16- : new ( ) { Delay = browser . Delay } ;
17-
18- /// <inheritdoc/>
19- IBrowser IPage . Browser => browser ;
20-
2114 /// <inheritdoc/>
2215 public Microsoft . Playwright . IPage InnerPage => playwrightPageAccessor . PlaywrightPage ;
2316
2417 /// <inheritdoc/>
25- public string Title => InnerPage . TitleAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
18+ public string Title { get ; set ; }
2619
2720 /// <inheritdoc/>
28- public string Content => InnerPage . ContentAsync ( ) . GetAwaiter ( ) . GetResult ( ) ;
21+ public string Content { get ; set ; }
2922
3023 /// <inheritdoc/>
31- public async Task GoToAsync ( string url ) => await InnerPage . GotoAsync ( url ) ;
24+ public async Task GoToAsync ( string url )
25+ {
26+ await InnerPage . GotoAsync ( url ) ;
27+
28+ Title = await InnerPage . TitleAsync ( ) ;
29+ Content = await InnerPage . ContentAsync ( ) ;
30+ }
3231
3332 /// <inheritdoc/>
3433 public IElement FindElement ( string selector )
3534 {
3635 var locator = InnerPage . Locator ( selector ) ;
37-
38- return new Element ( this , locator ) ;
36+ var element = new Element ( locator )
37+ {
38+ InnerText = locator . InnerTextAsync ( ) . GetAwaiter ( ) . GetResult ( ) ,
39+ InnerHtml = locator . InnerHTMLAsync ( ) . GetAwaiter ( ) . GetResult ( ) ,
40+ Enabled = locator . IsEnabledAsync ( ) . GetAwaiter ( ) . GetResult ( ) ,
41+ Visible = locator . IsVisibleAsync ( ) . GetAwaiter ( ) . GetResult ( )
42+ } ;
43+
44+ return element ;
3945 }
4046
4147 /// <inheritdoc/>
42- public async Task ClickAsync ( string selector ) => await InnerPage . ClickAsync ( selector , _pageClickOptions ) ;
48+ public async Task ClickAsync ( string selector ) => await FindElement ( selector ) . ClickAsync ( ) ;
4349
4450 /// <inheritdoc/>
4551 public async Task ScreenShotAsync ( string path , bool fullPage = false )
0 commit comments