Skip to content

Commit d28171d

Browse files
authored
Update to Selenium 4.24.0 (#123)
Temporarily add direct reference to Newtonsoft.Json Stabilize wait for FindElements in the ElementFactory +semver:feature
1 parent 764517d commit d28171d

File tree

3 files changed

+21
-13
lines changed

3 files changed

+21
-13
lines changed

Aquality.Selenium.Core/src/Aquality.Selenium.Core/Aquality.Selenium.Core.csproj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@
5050
<PackageReference Include="DotNetSeleniumExtras.PageObjects" Version="3.11.0" />
5151
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
5252
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.1" />
53-
<PackageReference Include="NLog" Version="5.3.2" />
54-
<PackageReference Include="Selenium.Support" Version="4.23.0" />
55-
<PackageReference Include="Selenium.WebDriver" Version="4.23.0" />
53+
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
54+
<PackageReference Include="NLog" Version="5.3.3" />
55+
<PackageReference Include="Selenium.Support" Version="4.24.0" />
56+
<PackageReference Include="Selenium.WebDriver" Version="4.24.0" />
5657
<PackageReference Include="SkiaSharp" Version="2.88.8" />
5758
</ItemGroup>
5859
</Project>

Aquality.Selenium.Core/src/Aquality.Selenium.Core/Elements/ElementFactory.cs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,22 @@ public virtual IList<T> FindElements<T>(By locator, string name = null, ElementS
6969
default:
7070
throw new ArgumentOutOfRangeException($"No such expected value: {expectedCount}");
7171
}
72-
73-
var webElements = ElementFinder.FindElements(locator, state, TimeSpan.Zero, name);
74-
IEnumerable<T> elements = webElements.Select((webElement, index) =>
72+
73+
var elements = new List<T>();
74+
ConditionalWait.WaitFor(() =>
7575
{
76-
var elementIndex = index + 1;
77-
var elementName = $"{name ?? "element"} {elementIndex}";
78-
return elementSupplier(GenerateLocator(locator, webElement, elementIndex), elementName, state);
79-
});
80-
return elements.ToList();
76+
var webElements = ElementFinder.FindElements(locator, state, TimeSpan.Zero, name);
77+
elements = webElements.Select((webElement, index) =>
78+
{
79+
var elementIndex = index + 1;
80+
var elementName = $"{name ?? "element"} {elementIndex}";
81+
return elementSupplier(GenerateLocator(locator, webElement, elementIndex), elementName, state);
82+
}).ToList();
83+
var anyElementsFound = elements.Any();
84+
return expectedCount == ElementsCount.Any || (expectedCount == ElementsCount.Zero && !anyElementsFound) || (expectedCount == ElementsCount.MoreThenZero && anyElementsFound);
85+
}, exceptionsToIgnore: new List<Type> { typeof(StaleElementReferenceException), typeof(JavaScriptException) , typeof(WebDriverTimeoutException)});
86+
87+
return elements;
8188
}
8289

8390
public virtual T GetCustomElement<T>(ElementSupplier<T> elementSupplier, By locator, string name, ElementState state = ElementState.Displayed) where T : IElement

Aquality.Selenium.Core/tests/Aquality.Selenium.Core.Tests/Aquality.Selenium.Core.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
<ItemGroup>
2828
<PackageReference Include="Appium.WebDriver" Version="5.1.0" />
2929
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
30-
<PackageReference Include="nunit" Version="4.1.0" />
30+
<PackageReference Include="nunit" Version="4.2.1" />
3131
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0">
3232
<PrivateAssets>all</PrivateAssets>
3333
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3434
</PackageReference>
35-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
35+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.0" />
3636
</ItemGroup>
3737

3838
<ItemGroup>

0 commit comments

Comments
 (0)