"Fossies" - the Fresh Open Source Software Archive

Member "selenium-selenium-4.8.1/dotnet/test/support/UI/PopupWindowFinderTest.cs" (17 Feb 2023, 3236 Bytes) of package /linux/www/selenium-selenium-4.8.1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C# source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 using NUnit.Framework;
    2 using OpenQA.Selenium.Environment;
    3 
    4 namespace OpenQA.Selenium.Support.UI
    5 {
    6     [TestFixture]
    7     public class PopupWindowFinderTest : DriverTestFixture
    8     {
    9         //TODO: Move these to a standalone class when more tests rely on the server being up
   10         [OneTimeSetUp]
   11         public void RunBeforeAnyTest()
   12         {
   13             EnvironmentManager.Instance.WebServer.Start();
   14         }
   15 
   16         [OneTimeTearDown]
   17         public void RunAfterAnyTests()
   18         {
   19             EnvironmentManager.Instance.CloseCurrentDriver();
   20             EnvironmentManager.Instance.WebServer.Stop();
   21         }
   22 
   23         [Test]
   24         public void ShouldFindPopupWindowUsingAction()
   25         {
   26             driver.Url = xhtmlTestPage;
   27             string current = driver.CurrentWindowHandle;
   28 
   29             PopupWindowFinder finder = new PopupWindowFinder(driver);
   30             string newHandle = finder.Invoke(() => { driver.FindElement(By.LinkText("Open new window")).Click(); });
   31 
   32             Assert.That(newHandle, Is.Not.Null.Or.Empty);
   33             Assert.AreNotEqual(current, newHandle);
   34 
   35             driver.SwitchTo().Window(newHandle);
   36             Assert.AreEqual("We Arrive Here", driver.Title);
   37             driver.Close();
   38 
   39             driver.SwitchTo().Window(current);
   40         }
   41 
   42         [Test]
   43         public void ShouldFindPopupWindowUsingElementClick()
   44         {
   45             driver.Url = xhtmlTestPage;
   46             string current = driver.CurrentWindowHandle;
   47 
   48             PopupWindowFinder finder = new PopupWindowFinder(driver);
   49             string newHandle = finder.Click(driver.FindElement(By.LinkText("Open new window")));
   50 
   51             Assert.That(newHandle, Is.Not.Null.Or.Empty);
   52             Assert.AreNotEqual(current, newHandle);
   53 
   54             driver.SwitchTo().Window(newHandle);
   55             Assert.AreEqual("We Arrive Here", driver.Title);
   56             driver.Close();
   57 
   58             driver.SwitchTo().Window(current);
   59         }
   60 
   61         [Test]
   62         public void ShouldFindMultiplePopupWindowsInSuccession()
   63         {
   64             driver.Url = xhtmlTestPage;
   65             string first = driver.CurrentWindowHandle;
   66 
   67             PopupWindowFinder finder = new PopupWindowFinder(driver);
   68             string second = finder.Click(driver.FindElement(By.Name("windowOne")));
   69             Assert.That(second, Is.Not.Null.Or.Empty);
   70             Assert.AreNotEqual(first, second);
   71 
   72             finder = new PopupWindowFinder(driver);
   73             string third = finder.Click(driver.FindElement(By.Name("windowTwo")));
   74             Assert.That(third, Is.Not.Null.Or.Empty);
   75             Assert.AreNotEqual(first, third);
   76             Assert.AreNotEqual(second, third);
   77 
   78             driver.SwitchTo().Window(second);
   79             driver.Close();
   80 
   81             driver.SwitchTo().Window(third);
   82             driver.Close();
   83 
   84             driver.SwitchTo().Window(first);
   85         }
   86 
   87         [Test]
   88         public void ShouldNotFindPopupWindowWhenNoneExists()
   89         {
   90             driver.Url = xhtmlTestPage;
   91             PopupWindowFinder finder = new PopupWindowFinder(driver);
   92             Assert.Throws<WebDriverTimeoutException>(() => { string handle = finder.Click(driver.FindElement(By.Id("linkId"))); });
   93         }
   94     }
   95 }