Skip to content

Commit d3ee24b

Browse files
committed
Refactor add alarm page dismissal and create a helper function
Strategically add delay to prevent false negatives
1 parent dd641e5 commit d3ee24b

File tree

7 files changed

+31
-23
lines changed

7 files changed

+31
-23
lines changed

Tests/WebDriverAPI/AppSessionBase/AlarmClockBase.cs

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,8 @@ public virtual void TestInit()
7070
}
7171
catch
7272
{
73-
session.Navigate().Back();
74-
Thread.Sleep(TimeSpan.FromSeconds(1));
75-
session.DismissAlarmDialogIfThere();
76-
77-
try
78-
{
79-
alarmTabElement = session.FindElementByAccessibilityId("AlarmPivotItem");
80-
}
81-
catch
82-
{
83-
session.FindElementByAccessibilityId("Back").Click(); // Press back button if navigating back somehow failed
84-
session.DismissAlarmDialogIfThere();
85-
alarmTabElement = session.FindElementByAccessibilityId("AlarmPivotItem");
86-
}
73+
DismissAddAlarmPage();
74+
alarmTabElement = session.FindElementByAccessibilityId("AlarmPivotItem");
8775
}
8876

8977
Assert.IsNotNull(alarmTabElement);
@@ -146,10 +134,23 @@ protected static WindowsElement GetStaleElement()
146134
session.FindElementByAccessibilityId("AddAlarmButton").Click();
147135
Thread.Sleep(TimeSpan.FromSeconds(0.5));
148136
WindowsElement staleElement = session.FindElementByAccessibilityId("AlarmSaveButton");
149-
session.Navigate().Back(); // Dismiss add alarm page
150-
session.DismissAlarmDialogIfThere();
137+
DismissAddAlarmPage();
151138
Thread.Sleep(TimeSpan.FromSeconds(2));
152139
return staleElement;
153140
}
141+
142+
protected static void DismissAddAlarmPage()
143+
{
144+
try
145+
{
146+
session.FindElementByAccessibilityId("CancelButton").Click(); // Press cancel button to dismiss any non-main page
147+
}
148+
catch
149+
{
150+
session.FindElementByAccessibilityId("Back").Click(); // Press back button if cancel button above somehow failed
151+
Thread.Sleep(TimeSpan.FromSeconds(1));
152+
session.DismissAlarmDialogIfThere();
153+
}
154+
}
154155
}
155156
}

Tests/WebDriverAPI/AppSessionBase/EdgeBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,14 @@ protected static RemoteWebElement GetStaleElement()
116116

117117
// Navigate to Edge about:flags page
118118
session.FindElementByAccessibilityId("addressEditBox").SendKeys(Keys.Alt + 'd' + Keys.Alt + CommonTestSettings.EdgeAboutFlagsURL + Keys.Enter);
119-
Thread.Sleep(TimeSpan.FromSeconds(2));
119+
Thread.Sleep(TimeSpan.FromSeconds(3));
120120
Assert.AreNotEqual(originalTitle, session.Title);
121121

122122
// Save a reference to Reset all flags button on the page and navigate back to home
123123
staleElement = session.FindElementByAccessibilityId("ResetAllFlags");
124124
Assert.IsNotNull(staleElement);
125125
session.Navigate().Back();
126-
Thread.Sleep(TimeSpan.FromSeconds(1));
126+
Thread.Sleep(TimeSpan.FromSeconds(3));
127127
Assert.AreEqual(originalTitle, session.Title);
128128

129129
return staleElement;

Tests/WebDriverAPI/ElementClick.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ public void ClickElement()
5252
Assert.AreEqual("30", minuteSelector.Text);
5353

5454
// Return to main page and click on pivot items to switch between tabs
55-
session.FindElementByAccessibilityId("CancelButton").Click();
56-
55+
DismissAddAlarmPage();
5756
WindowsElement worldPivot = session.FindElementByAccessibilityId("WorldClockPivotItem");
5857
WindowsElement alarmPivot = session.FindElementByAccessibilityId("AlarmPivotItem");
5958

Tests/WebDriverAPI/ElementSendKeys.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ public void SendKeysToElementError_StaleElement()
175175
{
176176
try
177177
{
178-
session.FindElementByAccessibilityId("CancelButton").Click();
178+
DismissAddAlarmPage();
179179
Thread.Sleep(TimeSpan.FromSeconds(1));
180180
alarmNameTextBox.SendKeys("keys");
181181
Assert.Fail("Exception should have been thrown");

Tests/WebDriverAPI/Forward.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,12 @@ public void NavigateForward_SystemApp()
7979

8080
// Navigate back to the original folder
8181
session.Navigate().Back();
82+
Thread.Sleep(TimeSpan.FromSeconds(1));
8283
Assert.AreEqual(originalTitle, session.Title);
8384

8485
// Navigate forward to the target folder
8586
session.Navigate().Forward();
87+
Thread.Sleep(TimeSpan.FromSeconds(1));
8688
Assert.AreEqual(newTitle, session.Title);
8789
}
8890

Tests/WebDriverAPI/TouchScroll.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ public void TouchScrollOnElement_Vertical()
107107
Thread.Sleep(TimeSpan.FromSeconds(1));
108108
Assert.IsTrue(minute00.Displayed);
109109

110-
// Navigate back to the original view
111-
session.Navigate().Back();
110+
// Dismiss add alarm page
111+
DismissAddAlarmPage();
112112
}
113113

114114
[TestMethod]

Tests/WebDriverAPI/Window.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ public void GetWindowHandles_ModernApp()
130130
List<string> previouslyOpenedEdgeWindows = new List<string>(windowHandlesBefore);
131131
previouslyOpenedEdgeWindows.Remove(session.CurrentWindowHandle);
132132

133+
// Set focus on itself
134+
session.SwitchTo().Window(session.CurrentWindowHandle);
135+
133136
// Open a new window
134137
session.Keyboard.SendKeys(Keys.Control + "n" + Keys.Control);
135138
Thread.Sleep(TimeSpan.FromSeconds(3));
@@ -161,6 +164,9 @@ public void SwitchWindows()
161164
List<string> previouslyOpenedEdgeWindows = new List<string>(session.WindowHandles);
162165
previouslyOpenedEdgeWindows.Remove(session.CurrentWindowHandle);
163166

167+
// Set focus on itself
168+
session.SwitchTo().Window(session.CurrentWindowHandle);
169+
164170
// Open a new window
165171
session.Keyboard.SendKeys(Keys.Control + "n" + Keys.Control);
166172
Thread.Sleep(TimeSpan.FromSeconds(3));

0 commit comments

Comments
 (0)