"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 }