Skip to content

Commit 4857093

Browse files
authored
Merge pull request #39 from aristotelos/fix-find-elements-empty
Return empty list from Find elements
2 parents c87c586 + cbc3f04 commit 4857093

File tree

2 files changed

+12
-17
lines changed

2 files changed

+12
-17
lines changed

src/FlaUI.WebDriver.UITests/FindElementsTests.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public void FindElement_ByTagName_ReturnsElement()
119119
}
120120

121121
[Test]
122-
public void FindElement_NotExisting_TimesOut()
122+
public void FindElement_NotExisting_ThrowsNoSuchElementException()
123123
{
124124
var driverOptions = FlaUIDriverOptions.TestApp();
125125
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
@@ -142,7 +142,7 @@ public void FindElementFromElement_InsideElement_ReturnsElement()
142142
}
143143

144144
[Test]
145-
public void FindElementFromElement_OutsideElement_TimesOut()
145+
public void FindElementFromElement_OutsideElement_ThrowsNoSuchElementException()
146146
{
147147
var driverOptions = FlaUIDriverOptions.TestApp();
148148
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
@@ -166,15 +166,15 @@ public void FindElementsFromElement_InsideElement_ReturnsElement()
166166
}
167167

168168
[Test]
169-
public void FindElementsFromElement_OutsideElement_TimesOut()
169+
public void FindElementsFromElement_OutsideElement_ReturnsEmptyList()
170170
{
171171
var driverOptions = FlaUIDriverOptions.TestApp();
172172
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
173173
var fromElement = driver.FindElement(ExtendedBy.AccessibilityId("ListBox"));
174174

175-
var findElements = () => fromElement.FindElements(ExtendedBy.AccessibilityId("TextBox"));
175+
var foundElements = fromElement.FindElements(ExtendedBy.AccessibilityId("TextBox"));
176176

177-
Assert.That(findElements, Throws.TypeOf<NoSuchElementException>());
177+
Assert.That(foundElements, Is.Empty);
178178
}
179179

180180
[Test]
@@ -189,18 +189,18 @@ public void FindElements_Default_ReturnsElements()
189189
}
190190

191191
[Test]
192-
public void FindElements_NotExisting_TimesOut()
192+
public void FindElements_NotExisting_ReturnsEmptyList()
193193
{
194194
var driverOptions = FlaUIDriverOptions.TestApp();
195195
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
196196

197-
var findElements = () => driver.FindElements(ExtendedBy.AccessibilityId("NotExisting"));
197+
var foundElements = driver.FindElements(ExtendedBy.AccessibilityId("NotExisting"));
198198

199-
Assert.That(findElements, Throws.TypeOf<NoSuchElementException>());
199+
Assert.That(foundElements, Is.Empty);
200200
}
201201

202202
[Test]
203-
public void FindElement_InOtherWindow_TimesOut()
203+
public void FindElement_InOtherWindow_ThrowsNoSuchElementException()
204204
{
205205
var driverOptions = FlaUIDriverOptions.TestApp();
206206
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
@@ -214,15 +214,15 @@ public void FindElement_InOtherWindow_TimesOut()
214214
}
215215

216216
[Test]
217-
public void FindElements_InOtherWindow_TimesOut()
217+
public void FindElements_InOtherWindow_ReturnsEmptyList()
218218
{
219219
var driverOptions = FlaUIDriverOptions.TestApp();
220220
using var driver = new RemoteWebDriver(WebDriverFixture.WebDriverUrl, driverOptions);
221221
OpenAndSwitchToAnotherWindow(driver);
222222

223-
var findElements = () => driver.FindElements(ExtendedBy.AccessibilityId("TextBox"));
223+
var foundElements = driver.FindElements(ExtendedBy.AccessibilityId("TextBox"));
224224

225-
Assert.That(findElements, Throws.TypeOf<NoSuchElementException>());
225+
Assert.That(foundElements, Is.Empty);
226226
var elementsInNewWindow = driver.FindElements(ExtendedBy.AccessibilityId("Window1TextBox"));
227227
Assert.That(elementsInNewWindow, Has.Count.EqualTo(1));
228228
}

src/FlaUI.WebDriver/Controllers/FindElementsController.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,6 @@ private static async Task<ActionResult> FindElementsFrom(Func<AutomationElement>
8888
elements = await Wait.Until(() => startNode().FindAllDescendants(condition), elements => elements.Length > 0, session.ImplicitWaitTimeout);
8989
}
9090

91-
if (elements.Length == 0)
92-
{
93-
return NoSuchElement(findElementRequest);
94-
}
95-
9691
var knownElements = elements.Select(session.GetOrAddKnownElement);
9792
return await Task.FromResult(WebDriverResult.Success(
9893

0 commit comments

Comments
 (0)