diff --git a/dotnet/test/common/CookieImplementationTest.cs b/dotnet/test/common/CookieImplementationTest.cs index 2cc8a3c5cc2e8..84f632cf8d324 100644 --- a/dotnet/test/common/CookieImplementationTest.cs +++ b/dotnet/test/common/CookieImplementationTest.cs @@ -24,6 +24,7 @@ using System.Collections.ObjectModel; using System.Text; using System.Text.RegularExpressions; +using System.Threading.Tasks; namespace OpenQA.Selenium { @@ -478,14 +479,14 @@ public void ShouldRetainCookieExpiry() [Test] [Ignore("Unable to open secure url")] [IgnoreBrowser(Browser.IE, "Browser does not handle untrusted SSL certificates.")] - public void CanHandleSecureCookie() + public async Task CanHandleSecureCookie() { driver.Url = EnvironmentManager.Instance.UrlBuilder.WhereIsSecure("animals"); Cookie addedCookie = new ReturnedCookie("fish", "cod", null, "/common/animals", null, true, false, null); driver.Manage().Cookies.AddCookie(addedCookie); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Cookie retrieved = driver.Manage().Cookies.GetCookieNamed("fish"); Assert.That(retrieved, Is.Not.Null); @@ -494,7 +495,7 @@ public void CanHandleSecureCookie() [Test] [Ignore("Unable to open secure url")] [IgnoreBrowser(Browser.IE, "Browser does not handle untrusted SSL certificates.")] - public void ShouldRetainCookieSecure() + public async Task ShouldRetainCookieSecure() { driver.Url = EnvironmentManager.Instance.UrlBuilder.WhereIsSecure("animals"); @@ -502,7 +503,7 @@ public void ShouldRetainCookieSecure() driver.Manage().Cookies.AddCookie(addedCookie); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Cookie retrieved = driver.Manage().Cookies.GetCookieNamed("fish"); Assert.That(retrieved, Is.Not.Null); diff --git a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs index 87ca23b967d6c..dd36bfd10277d 100644 --- a/dotnet/test/common/DevTools/DevToolsProfilerTest.cs +++ b/dotnet/test/common/DevTools/DevToolsProfilerTest.cs @@ -109,7 +109,7 @@ public async Task SampleProfileEvents() await domains.Profiler.Start(); startSync.Wait(TimeSpan.FromSeconds(5)); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); ManualResetEventSlim finishSync = new ManualResetEventSlim(false); EventHandler consoleProfileFinishedHandler = (sender, e) => diff --git a/dotnet/test/common/ExecutingJavascriptTest.cs b/dotnet/test/common/ExecutingJavascriptTest.cs index 32cfbbccb08ef..16e88d02fa48a 100644 --- a/dotnet/test/common/ExecutingJavascriptTest.cs +++ b/dotnet/test/common/ExecutingJavascriptTest.cs @@ -521,35 +521,35 @@ public async Task ShouldBeAbleToAddInitializationScriptAndExecuteOnNewDocument() await jsEngine.StartEventMonitoring(); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); driver.SwitchTo().Alert().Accept(); Assert.That(jsEngine.InitializationScripts, Does.Contain(initScript)); await jsEngine.RemoveInitializationScript(ScriptName); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(() => driver.SwitchTo().Alert().Accept(), Throws.TypeOf()); Assert.That(jsEngine.InitializationScripts, Does.Not.Contain(initScript)); await jsEngine.AddInitializationScript(ScriptName, ScriptValue); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); driver.SwitchTo().Alert().Accept(); Assert.That(jsEngine.InitializationScripts, Does.Contain(initScript)); await jsEngine.ClearInitializationScripts(); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(() => driver.SwitchTo().Alert().Accept(), Throws.TypeOf()); Assert.That(jsEngine.InitializationScripts, Is.Empty); await jsEngine.AddInitializationScript(ScriptName, ScriptValue); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); driver.SwitchTo().Alert().Accept(); await jsEngine.ClearAll(); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(() => driver.SwitchTo().Alert().Accept(), Throws.TypeOf()); Assert.That(jsEngine.InitializationScripts, Is.Empty); } @@ -571,17 +571,17 @@ public async Task ShouldBeAbleToAddAndRemoveScriptCallbackBinding() await jsEngine.AddInitializationScript(ScriptName, ScriptValue); await jsEngine.StartEventMonitoring(); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); driver.SwitchTo().Alert().Accept(); await jsEngine.AddScriptCallbackBinding(ScriptName); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(() => driver.SwitchTo().Alert().Accept(), Throws.TypeOf()); Assert.That(executedBindings, Does.Contain(ScriptName)); int oldCount = executedBindings.Count; - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(executedBindings, Has.Count.GreaterThan(oldCount)); Assert.That(jsEngine.ScriptCallbackBindings, Does.Contain(ScriptName)); @@ -595,7 +595,7 @@ public async Task ShouldBeAbleToAddAndRemoveScriptCallbackBinding() Assert.That(jsEngine.ScriptCallbackBindings, Is.Empty); jsEngine.JavaScriptCallbackExecuted -= AddToList; - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(executedBindings, Has.Count.EqualTo(oldCount)); void AddToList(object sender, JavaScriptCallbackExecutedEventArgs e) => executedBindings.Add(e.BindingName); diff --git a/dotnet/test/common/NavigationTest.cs b/dotnet/test/common/NavigationTest.cs index 6dce194d446d4..76d8bd7aff542 100644 --- a/dotnet/test/common/NavigationTest.cs +++ b/dotnet/test/common/NavigationTest.cs @@ -154,13 +154,13 @@ public async Task ShouldGoToUrlUsingStringAsync() } [Test] - public void ShouldGoToUrlUsingUriAsync() + public async Task ShouldGoToUrlUsingUriAsync() { var navigation = driver.Navigate(); - navigation.GoToUrlAsync(new Uri(macbethPage)); + await navigation.GoToUrlAsync(new Uri(macbethPage)); Assert.That(macbethTitle, Is.EqualTo(driver.Title)); - navigation.GoToUrl(new Uri(simpleTestPage)); + await navigation.GoToUrlAsync(new Uri(simpleTestPage)); Assert.That(driver.Title, Is.EqualTo(simpleTestTitle)); } diff --git a/dotnet/test/common/NetworkInterceptionTests.cs b/dotnet/test/common/NetworkInterceptionTests.cs index 9acb79016f973..6e36550c76def 100644 --- a/dotnet/test/common/NetworkInterceptionTests.cs +++ b/dotnet/test/common/NetworkInterceptionTests.cs @@ -101,7 +101,7 @@ public async Task TransformNetworkResponse() networkInterceptor.AddResponseHandler(handler); await networkInterceptor.StartMonitoring(); - driver.Navigate().GoToUrl("https://www.selenium.dev"); + await driver.Navigate().GoToUrlAsync("https://www.selenium.dev"); await networkInterceptor.StopMonitoring(); var body = driver.FindElement(By.TagName("body")); diff --git a/dotnet/test/common/PageLoadingTest.cs b/dotnet/test/common/PageLoadingTest.cs index 0b231c94746e1..d4c24adcd76a5 100644 --- a/dotnet/test/common/PageLoadingTest.cs +++ b/dotnet/test/common/PageLoadingTest.cs @@ -20,6 +20,7 @@ using NUnit.Framework; using OpenQA.Selenium.Environment; using System; +using System.Threading.Tasks; namespace OpenQA.Selenium { @@ -63,7 +64,7 @@ public void NoneStrategyShouldNotWaitForPageToLoad() [Test] - public void NoneStrategyShouldNotWaitForPageToRefresh() + public async Task NoneStrategyShouldNotWaitForPageToRefresh() { InitLocalDriver(PageLoadStrategy.None); @@ -73,7 +74,7 @@ public void NoneStrategyShouldNotWaitForPageToRefresh() WaitFor(() => localDriver.FindElement(By.TagName("body")), TimeSpan.FromSeconds(10), "did not find body"); DateTime start = DateTime.Now; - localDriver.Navigate().Refresh(); + await localDriver.Navigate().RefreshAsync(); DateTime end = DateTime.Now; TimeSpan duration = end - start; @@ -103,7 +104,7 @@ public void EagerStrategyShouldNotWaitForResources() } [Test] - public void EagerStrategyShouldNotWaitForResourcesOnRefresh() + public async Task EagerStrategyShouldNotWaitForResourcesOnRefresh() { InitLocalDriver(PageLoadStrategy.Eager); @@ -115,7 +116,7 @@ public void EagerStrategyShouldNotWaitForResourcesOnRefresh() WaitFor(() => localDriver.FindElement(By.Id("peas")), TimeSpan.FromSeconds(10), "did not find element"); DateTime start = DateTime.Now; - localDriver.Navigate().Refresh(); + await localDriver.Navigate().RefreshAsync(); // We discard the element, but want a check to make sure the GET actually // completed. WaitFor(() => localDriver.FindElement(By.Id("peas")), TimeSpan.FromSeconds(10), "did not find element"); @@ -211,24 +212,24 @@ public void ShouldBeAbleToLoadAPageWithFramesetsAndWaitUntilAllFramesAreLoaded() [Test] [NeedsFreshDriver(IsCreatedBeforeTest = true)] - public void ShouldDoNothingIfThereIsNothingToGoBackTo() + public async Task ShouldDoNothingIfThereIsNothingToGoBackTo() { string originalTitle = driver.Title; driver.Url = formsPage; - driver.Navigate().Back(); + await driver.Navigate().BackAsync(); // We may have returned to the browser's home page string currentTitle = driver.Title; Assert.That(currentTitle, Is.EqualTo(originalTitle).Or.EqualTo("We Leave From Here")); if (driver.Title == originalTitle) { - driver.Navigate().Back(); + await driver.Navigate().BackAsync(); Assert.That(driver.Title, Is.EqualTo(originalTitle)); } } [Test] - public void ShouldBeAbleToNavigateBackInTheBrowserHistory() + public async Task ShouldBeAbleToNavigateBackInTheBrowserHistory() { driver.Url = formsPage; @@ -236,13 +237,13 @@ public void ShouldBeAbleToNavigateBackInTheBrowserHistory() WaitFor(TitleToBeEqualTo("We Arrive Here"), "Browser title was not 'We Arrive Here'"); Assert.That(driver.Title, Is.EqualTo("We Arrive Here")); - driver.Navigate().Back(); + await driver.Navigate().BackAsync(); WaitFor(TitleToBeEqualTo("We Leave From Here"), "Browser title was not 'We Leave From Here'"); Assert.That(driver.Title, Is.EqualTo("We Leave From Here")); } [Test] - public void ShouldBeAbleToNavigateBackInTheBrowserHistoryInPresenceOfIframes() + public async Task ShouldBeAbleToNavigateBackInTheBrowserHistoryInPresenceOfIframes() { driver.Url = xhtmlTestPage; @@ -250,13 +251,13 @@ public void ShouldBeAbleToNavigateBackInTheBrowserHistoryInPresenceOfIframes() WaitFor(TitleToBeEqualTo("This page has iframes"), "Browser title was not 'This page has iframes'"); Assert.That(driver.Title, Is.EqualTo("This page has iframes")); - driver.Navigate().Back(); + await driver.Navigate().BackAsync(); WaitFor(TitleToBeEqualTo("XHTML Test Page"), "Browser title was not 'XHTML Test Page'"); Assert.That(driver.Title, Is.EqualTo("XHTML Test Page")); } [Test] - public void ShouldBeAbleToNavigateForwardsInTheBrowserHistory() + public async Task ShouldBeAbleToNavigateForwardsInTheBrowserHistory() { driver.Url = formsPage; @@ -264,11 +265,11 @@ public void ShouldBeAbleToNavigateForwardsInTheBrowserHistory() WaitFor(TitleToBeEqualTo("We Arrive Here"), "Browser title was not 'We Arrive Here'"); Assert.That(driver.Title, Is.EqualTo("We Arrive Here")); - driver.Navigate().Back(); + await driver.Navigate().BackAsync(); WaitFor(TitleToBeEqualTo("We Leave From Here"), "Browser title was not 'We Leave From Here'"); Assert.That(driver.Title, Is.EqualTo("We Leave From Here")); - driver.Navigate().Forward(); + await driver.Navigate().ForwardAsync(); WaitFor(TitleToBeEqualTo("We Arrive Here"), "Browser title was not 'We Arrive Here'"); Assert.That(driver.Title, Is.EqualTo("We Arrive Here")); } @@ -287,11 +288,11 @@ public void ShouldBeAbleToAccessPagesWithAnInsecureSslCertificate() } [Test] - public void ShouldBeAbleToRefreshAPage() + public async Task ShouldBeAbleToRefreshAPage() { driver.Url = xhtmlTestPage; - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.Title, Is.EqualTo("XHTML Test Page")); } @@ -326,8 +327,8 @@ public void CanHandleSequentialPageLoadTimeouts() long pageLoadTimeBuffer = 10; string slowLoadingPageUrl = EnvironmentManager.Instance.UrlBuilder.WhereIs("sleep?time=" + (pageLoadTimeout + pageLoadTimeBuffer)); driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(2); - AssertPageLoadTimeoutIsEnforced(() => driver.Url = slowLoadingPageUrl, pageLoadTimeout, pageLoadTimeBuffer); - AssertPageLoadTimeoutIsEnforced(() => driver.Url = slowLoadingPageUrl, pageLoadTimeout, pageLoadTimeBuffer); + AssertPageLoadTimeoutIsEnforced(async () => await driver.Navigate().GoToUrlAsync(slowLoadingPageUrl), pageLoadTimeout, pageLoadTimeBuffer); + AssertPageLoadTimeoutIsEnforced(async () => await driver.Navigate().GoToUrlAsync(slowLoadingPageUrl), pageLoadTimeout, pageLoadTimeBuffer); } [Test] @@ -359,7 +360,7 @@ public void ShouldTimeoutIfAPageTakesTooLongToLoadAfterClick() try { - AssertPageLoadTimeoutIsEnforced(() => link.Click(), 2, 3); + AssertPageLoadTimeoutIsEnforced(async () => link.Click(), 2, 3); } finally { @@ -385,7 +386,7 @@ public void ShouldTimeoutIfAPageTakesTooLongToRefresh() try { - AssertPageLoadTimeoutIsEnforced(() => driver.Navigate().Refresh(), 2, 4); + AssertPageLoadTimeoutIsEnforced(async () => await driver.Navigate().RefreshAsync(), 2, 4); } finally { @@ -449,12 +450,14 @@ private void TestPageLoadTimeoutIsEnforced(long webDriverPageLoadTimeoutInSecond long pageLoadTimeBufferInSeconds = 10; string slowLoadingPageUrl = EnvironmentManager.Instance.UrlBuilder.WhereIs("sleep?time=" + (webDriverPageLoadTimeoutInSeconds + pageLoadTimeBufferInSeconds)); driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(webDriverPageLoadTimeoutInSeconds); - AssertPageLoadTimeoutIsEnforced(() => driver.Url = slowLoadingPageUrl, webDriverPageLoadTimeoutInSeconds, pageLoadTimeBufferInSeconds); + AssertPageLoadTimeoutIsEnforced(async () => await driver.Navigate().GoToUrlAsync(slowLoadingPageUrl), webDriverPageLoadTimeoutInSeconds, pageLoadTimeBufferInSeconds); } - private void AssertPageLoadTimeoutIsEnforced(TestDelegate delegateToTest, long webDriverPageLoadTimeoutInSeconds, long pageLoadTimeBufferInSeconds) + private void AssertPageLoadTimeoutIsEnforced(AsyncTestDelegate delegateToTest, long webDriverPageLoadTimeoutInSeconds, long pageLoadTimeBufferInSeconds) { DateTime start = DateTime.Now; + + // TODO in NUnit 4, change this to await Assert.ThatAsync Assert.That(delegateToTest, Throws.InstanceOf(), "I should have timed out after " + webDriverPageLoadTimeoutInSeconds + " seconds"); DateTime end = DateTime.Now; TimeSpan duration = end - start; diff --git a/dotnet/test/common/PrintTest.cs b/dotnet/test/common/PrintTest.cs index 7d67e9f83bbc7..c1d932fac4068 100644 --- a/dotnet/test/common/PrintTest.cs +++ b/dotnet/test/common/PrintTest.cs @@ -19,6 +19,7 @@ using NUnit.Framework; using System; +using System.Threading.Tasks; namespace OpenQA.Selenium { @@ -29,13 +30,13 @@ public class PrintTest : DriverTestFixture private ISupportsPrint printer; [SetUp] - public void LocalSetUp() + public async Task LocalSetUp() { Assert.That(driver, Is.InstanceOf(), $"Driver does not support {nameof(ISupportsPrint)}."); printer = driver as ISupportsPrint; - driver.Navigate().GoToUrl(this.printPage); + await driver.Navigate().GoToUrlAsync(this.printPage); } [Test] diff --git a/dotnet/test/common/SlowLoadingPageTest.cs b/dotnet/test/common/SlowLoadingPageTest.cs index a4cf51b4f9d25..7c7698662e5ad 100644 --- a/dotnet/test/common/SlowLoadingPageTest.cs +++ b/dotnet/test/common/SlowLoadingPageTest.cs @@ -19,6 +19,7 @@ using NUnit.Framework; using System; +using System.Threading.Tasks; namespace OpenQA.Selenium { @@ -51,7 +52,7 @@ public void ShouldBlockUntilIFramesAreLoaded() [Test] [NeedsFreshDriver(IsCreatedBeforeTest = true)] - public void RefreshShouldBlockUntilPageLoads() + public async Task RefreshShouldBlockUntilPageLoads() { DateTime start = DateTime.Now; driver.Url = sleepingPage + "?time=" + LoadTimeInSeconds.ToString(); @@ -59,7 +60,7 @@ public void RefreshShouldBlockUntilPageLoads() double elapsedTime = now.Subtract(start).TotalSeconds; Assert.That(elapsedTime, Is.GreaterThanOrEqualTo(LoadTimeInSeconds)); start = DateTime.Now; - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); now = DateTime.Now; elapsedTime = now.Subtract(start).TotalSeconds; Assert.That(elapsedTime, Is.GreaterThanOrEqualTo(LoadTimeInSeconds)); diff --git a/dotnet/test/firefox/FirefoxDriverTest.cs b/dotnet/test/firefox/FirefoxDriverTest.cs index 0de306815de96..dbf592e200801 100644 --- a/dotnet/test/firefox/FirefoxDriverTest.cs +++ b/dotnet/test/firefox/FirefoxDriverTest.cs @@ -23,6 +23,7 @@ using System.Collections.Generic; using System.IO; using System.Threading; +using System.Threading.Tasks; namespace OpenQA.Selenium.Firefox { @@ -266,7 +267,7 @@ public void ShouldAllowUserToSuccessfullyOverrideTheHomePage() } [Test] - public void ShouldInstallAndUninstallXpiAddon() + public async Task ShouldInstallAndUninstallXpiAddon() { FirefoxDriver firefoxDriver = driver as FirefoxDriver; @@ -280,12 +281,12 @@ public void ShouldInstallAndUninstallXpiAddon() firefoxDriver.UninstallAddOn(id); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.FindElements(By.Id("webextensions-selenium-example")).Count, Is.Zero); } [Test] - public void ShouldInstallAndUninstallUnSignedZipAddon() + public async Task ShouldInstallAndUninstallUnSignedZipAddon() { FirefoxDriver firefoxDriver = driver as FirefoxDriver; @@ -299,12 +300,12 @@ public void ShouldInstallAndUninstallUnSignedZipAddon() firefoxDriver.UninstallAddOn(id); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.FindElements(By.Id("webextensions-selenium-example")).Count, Is.Zero); } [Test] - public void ShouldInstallAndUninstallSignedZipAddon() + public async Task ShouldInstallAndUninstallSignedZipAddon() { FirefoxDriver firefoxDriver = driver as FirefoxDriver; @@ -318,12 +319,12 @@ public void ShouldInstallAndUninstallSignedZipAddon() firefoxDriver.UninstallAddOn(id); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.FindElements(By.Id("webextensions-selenium-example")).Count, Is.Zero); } [Test] - public void ShouldInstallAndUninstallSignedDirAddon() + public async Task ShouldInstallAndUninstallSignedDirAddon() { FirefoxDriver firefoxDriver = driver as FirefoxDriver; @@ -337,12 +338,12 @@ public void ShouldInstallAndUninstallSignedDirAddon() firefoxDriver.UninstallAddOn(id); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.FindElements(By.Id("webextensions-selenium-example")).Count, Is.Zero); } [Test] - public void ShouldInstallAndUninstallUnSignedDirAddon() + public async Task ShouldInstallAndUninstallUnSignedDirAddon() { FirefoxDriver firefoxDriver = driver as FirefoxDriver; @@ -356,7 +357,7 @@ public void ShouldInstallAndUninstallUnSignedDirAddon() firefoxDriver.UninstallAddOn(id); - driver.Navigate().Refresh(); + await driver.Navigate().RefreshAsync(); Assert.That(driver.FindElements(By.Id("webextensions-selenium-example")).Count, Is.Zero); }