From 91ef191d3dcb5375ff5bdccd5cda3ccaafe9798f Mon Sep 17 00:00:00 2001 From: titusfortner Date: Mon, 24 Jul 2023 16:12:24 -0500 Subject: [PATCH] [dotnet] fix test failures by ensuring new driver is created when necessary --- dotnet/test/common/DriverTestFixture.cs | 15 ++++++++++++--- .../test/common/Environment/EnvironmentManager.cs | 5 +---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/dotnet/test/common/DriverTestFixture.cs b/dotnet/test/common/DriverTestFixture.cs index 36b5e10d87f8b..aeabc2420f24e 100644 --- a/dotnet/test/common/DriverTestFixture.cs +++ b/dotnet/test/common/DriverTestFixture.cs @@ -1,7 +1,7 @@ using NUnit.Framework; using OpenQA.Selenium.Environment; using System; -using OpenQA.Selenium.Remote; +using static NUnit.Framework.Interfaces.ResultState; namespace OpenQA.Selenium { @@ -27,7 +27,7 @@ public abstract class DriverTestFixture public string javascriptPage = EnvironmentManager.Instance.UrlBuilder.WhereIs("javascriptPage.html"); public string loginPage = EnvironmentManager.Instance.UrlBuilder.WhereIs("login.html"); - + public string clickEventPage = EnvironmentManager.Instance.UrlBuilder.WhereIs("clickEventPage.html"); public string resultPage = EnvironmentManager.Instance.UrlBuilder.WhereIs("resultPage.html"); @@ -113,7 +113,7 @@ public bool IsNativeEventsEnabled [OneTimeSetUp] public void SetUp() { - driver = EnvironmentManager.Instance.GetCurrentDriver(); + driver = EnvironmentManager.Instance.CreateFreshDriver(); } [OneTimeTearDown] @@ -122,6 +122,15 @@ public void TearDown() // EnvironmentManager.Instance.CloseCurrentDriver(); } + [TearDown] + public void ResetOnError() + { + if (TestContext.CurrentContext.Result.Outcome == Error) + { + driver = EnvironmentManager.Instance.CreateFreshDriver(); + } + } + /* * Exists because a given test might require a fresh driver */ diff --git a/dotnet/test/common/Environment/EnvironmentManager.cs b/dotnet/test/common/Environment/EnvironmentManager.cs index 8e79e220dca13..8540f4e58d2a9 100644 --- a/dotnet/test/common/Environment/EnvironmentManager.cs +++ b/dotnet/test/common/Environment/EnvironmentManager.cs @@ -138,10 +138,7 @@ private EnvironmentManager() { webServer.Stop(); } - if (driver != null) - { - driver.Quit(); - } + CloseCurrentDriver(); } public event EventHandler DriverStarting;