diff --git a/src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs b/src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs index b8ecfe1b62..d4933b858e 100644 --- a/src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs +++ b/src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs @@ -38,9 +38,16 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Infrastructure protected SelectElement WaitUntilTestSelectorReady() { var elemToFind = By.CssSelector("#test-selector > select"); - new WebDriverWait(Browser, TimeSpan.FromSeconds(30)).Until( - driver => driver.FindElement(elemToFind) != null); + WaitUntilExists(elemToFind, timeoutSeconds: 30); return new SelectElement(Browser.FindElement(elemToFind)); } + + protected IWebElement WaitUntilExists(By findBy, int timeoutSeconds = 10) + { + IWebElement result = null; + new WebDriverWait(Browser, TimeSpan.FromSeconds(timeoutSeconds)) + .Until(driver => (result = driver.FindElement(findBy)) != null); + return result; + } } } diff --git a/src/Components/test/E2ETest/Tests/BindTest.cs b/src/Components/test/E2ETest/Tests/BindTest.cs index 832837840d..b08a315441 100644 --- a/src/Components/test/E2ETest/Tests/BindTest.cs +++ b/src/Components/test/E2ETest/Tests/BindTest.cs @@ -1,7 +1,6 @@ // Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -using System.Threading.Tasks; using BasicTestApp; using Microsoft.AspNetCore.Components.E2ETest.Infrastructure; using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures; @@ -28,6 +27,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests // On WebAssembly, page reloads are expensive so skip if possible Navigate(ServerPathBase, noReload: !_serverFixture.UsingAspNetHost); MountTestComponent(); + WaitUntilExists(By.Id("bind-cases")); } [Fact] diff --git a/src/Components/test/E2ETest/Tests/EventBubblingTest.cs b/src/Components/test/E2ETest/Tests/EventBubblingTest.cs index 66949202e5..a15d1b31d4 100644 --- a/src/Components/test/E2ETest/Tests/EventBubblingTest.cs +++ b/src/Components/test/E2ETest/Tests/EventBubblingTest.cs @@ -33,6 +33,7 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Tests { Navigate(ServerPathBase, noReload: !_serverFixture.UsingAspNetHost); MountTestComponent(); + WaitUntilExists(By.Id("event-bubbling")); } [Fact] diff --git a/src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor b/src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor index 37ab4d2e6f..707ed9124a 100644 --- a/src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor +++ b/src/Components/test/testassets/BasicTestApp/BindCasesComponent.razor @@ -1,3 +1,5 @@ +

Bind cases

+

Textbox

Initially blank: diff --git a/src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor b/src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor index 4de6f38b22..f5fcfac319 100644 --- a/src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor +++ b/src/Components/test/testassets/BasicTestApp/EventBubblingComponent.razor @@ -1,4 +1,4 @@ -

Bubbling standard event

+

Bubbling standard event