();
- Browser.Equal("Circuit Context", () => Browser.Exists(By.TagName("h1")).Text);
+ TestCircuitContextCore(Browser);
}
[Fact]
- public void ComponentMethods_HaveCircuitContext()
+ public void ComponentMethods_HaveCircuitContext_OnInitialPageLoad()
{
- Browser.Click(By.Id("trigger-click-event-button"));
+ // https://github.com/dotnet/aspnetcore/issues/57481
+ Navigate($"{ServerPathBase}?initial-component-type={typeof(CircuitContextComponent).AssemblyQualifiedName}");
+ TestCircuitContextCore(Browser);
+ }
+
+ // Internal for reuse in Blazor Web tests
+ internal static void TestCircuitContextCore(IWebDriver browser)
+ {
+ browser.Equal("Circuit Context", () => browser.Exists(By.TagName("h1")).Text);
+
+ browser.Click(By.Id("trigger-click-event-button"));
- Browser.True(() => HasCircuitContext("SetParametersAsync"));
- Browser.True(() => HasCircuitContext("OnInitializedAsync"));
- Browser.True(() => HasCircuitContext("OnParametersSetAsync"));
- Browser.True(() => HasCircuitContext("OnAfterRenderAsync"));
- Browser.True(() => HasCircuitContext("InvokeDotNet"));
- Browser.True(() => HasCircuitContext("OnClickEvent"));
+ browser.True(() => HasCircuitContext("SetParametersAsync"));
+ browser.True(() => HasCircuitContext("OnInitializedAsync"));
+ browser.True(() => HasCircuitContext("OnParametersSetAsync"));
+ browser.True(() => HasCircuitContext("OnAfterRenderAsync"));
+ browser.True(() => HasCircuitContext("InvokeDotNet"));
+ browser.True(() => HasCircuitContext("OnClickEvent"));
bool HasCircuitContext(string eventName)
{
- var resultText = Browser.FindElement(By.Id($"circuit-context-result-{eventName}")).Text;
+ var resultText = browser.FindElement(By.Id($"circuit-context-result-{eventName}")).Text;
var result = bool.Parse(resultText);
return result;
}
diff --git a/src/Components/test/E2ETest/ServerRenderingTests/InteractivityTest.cs b/src/Components/test/E2ETest/ServerRenderingTests/InteractivityTest.cs
index 240876cf53fa..59d6dcd420be 100644
--- a/src/Components/test/E2ETest/ServerRenderingTests/InteractivityTest.cs
+++ b/src/Components/test/E2ETest/ServerRenderingTests/InteractivityTest.cs
@@ -4,6 +4,7 @@
using Components.TestServer.RazorComponents;
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
+using Microsoft.AspNetCore.Components.E2ETests.ServerExecutionTests;
using Microsoft.AspNetCore.E2ETesting;
using Microsoft.AspNetCore.Testing;
using OpenQA.Selenium;
@@ -1168,8 +1169,7 @@ public void NavigationManagerCanRefreshSSRPageWhenServerInteractivityEnabled()
public void InteractiveServerRootComponent_CanAccessCircuitContext()
{
Navigate($"{ServerPathBase}/interactivity/circuit-context");
-
- Browser.Equal("True", () => Browser.FindElement(By.Id("has-circuit-context")).Text);
+ CircuitContextTest.TestCircuitContextCore(Browser);
}
[Fact]
diff --git a/src/Components/test/testassets/BasicTestApp/Index.razor b/src/Components/test/testassets/BasicTestApp/Index.razor
index fabbf037e349..3377745b8aab 100644
--- a/src/Components/test/testassets/BasicTestApp/Index.razor
+++ b/src/Components/test/testassets/BasicTestApp/Index.razor
@@ -1,4 +1,6 @@
@using Microsoft.AspNetCore.Components.Rendering
+@using System.Web
+@inject NavigationManager NavigationManager
Select test: