diff --git a/src/ProjectTemplates/test/RazorComponentsTemplateTest.cs b/src/ProjectTemplates/test/RazorComponentsTemplateTest.cs index b8c8e34ace..00187e8430 100644 --- a/src/ProjectTemplates/test/RazorComponentsTemplateTest.cs +++ b/src/ProjectTemplates/test/RazorComponentsTemplateTest.cs @@ -56,6 +56,10 @@ namespace Templates.Test aspNetProcess.VisitInBrowser(Browser); TestBasicNavigation(); } + else + { + BrowserFixture.EnforceSupportedConfigurations(); + } } using (var aspNetProcess = Project.StartPublishedProjectAsync()) @@ -70,6 +74,10 @@ namespace Templates.Test aspNetProcess.VisitInBrowser(Browser); TestBasicNavigation(); } + else + { + BrowserFixture.EnforceSupportedConfigurations(); + } } } @@ -106,8 +114,13 @@ namespace Templates.Test aspNetProcess.VisitInBrowser(Browser); TestBasicNavigation(); } + else + { + BrowserFixture.EnforceSupportedConfigurations(); + } } + using (var aspNetProcess = Project.StartPublishedProjectAsync()) { Assert.False( diff --git a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs index c58560acd9..a32ecb54e8 100644 --- a/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs +++ b/src/ProjectTemplates/test/SpaTemplateTest/SpaTemplateTestBase.cs @@ -113,6 +113,10 @@ namespace Templates.Test.SpaTemplateTest aspNetProcess.VisitInBrowser(browser); TestBasicNavigation(visitFetchData: shouldVisitFetchData, usesAuth, browser, logs); } + else + { + BrowserFixture.EnforceSupportedConfigurations(); + } } if (usesAuth) @@ -135,6 +139,10 @@ namespace Templates.Test.SpaTemplateTest aspNetProcess.VisitInBrowser(browser); TestBasicNavigation(visitFetchData: shouldVisitFetchData, usesAuth, browser, logs); } + else + { + BrowserFixture.EnforceSupportedConfigurations(); + } } } diff --git a/src/Shared/E2ETesting/BrowserFixture.cs b/src/Shared/E2ETesting/BrowserFixture.cs index 3efdbdc85b..0fa652994f 100644 --- a/src/Shared/E2ETesting/BrowserFixture.cs +++ b/src/Shared/E2ETesting/BrowserFixture.cs @@ -6,6 +6,7 @@ using System.Collections.Concurrent; using System.Diagnostics; using System.Linq; using System.Reflection; +using System.Runtime.InteropServices; using System.Threading.Tasks; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; @@ -28,6 +29,14 @@ namespace Microsoft.AspNetCore.E2ETesting public IMessageSink DiagnosticsMessageSink { get; } + public static void EnforceSupportedConfigurations() + { + // Do not change the current platform support without explicit approval. + Assert.False( + RuntimeInformation.IsOSPlatform(OSPlatform.Windows) && RuntimeInformation.ProcessArchitecture == Architecture.X64, + "Selenium tests should be running in this platform."); + } + public static bool IsHostAutomationSupported() { // We emit an assemblymetadata attribute that reflects the value of SeleniumE2ETestsSupported at build