Skip to content

Commit ce2552e

Browse files
paveliamPavel Anihimovsky
andauthored
Update libraries. +semver: minor (#169)
* Update versions of WebDriverManager and Aquality.Selenium.Core * Fix ConditionalWait getter * Fix ConditionalWait getter * Fix ElementFactory Co-authored-by: Pavel Anihimovsky <[email protected]>
1 parent efa99da commit ce2552e

File tree

15 files changed

+43
-23
lines changed

15 files changed

+43
-23
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@
5959
</ItemGroup>
6060

6161
<ItemGroup>
62-
<PackageReference Include="Aquality.Selenium.Core" Version="0.3.1" />
62+
<PackageReference Include="Aquality.Selenium.Core" Version="0.3.9" />
6363
<PackageReference Include="NLog" Version="4.6.6" />
6464
<PackageReference Include="Selenium.Support" Version="3.141.0" />
6565
<PackageReference Include="Selenium.WebDriver" Version="3.141.0" />
66-
<PackageReference Include="WebDriverManager" Version="2.5.1" />
66+
<PackageReference Include="WebDriverManager" Version="2.9.1" />
6767
</ItemGroup>
6868

6969
</Project>

Aquality.Selenium/src/Aquality.Selenium/Browsers/AqualityServices.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class AqualityServices : AqualityServices<Browser>
3636
/// <summary>
3737
/// Gets ConditionalWait object
3838
/// </summary>
39-
public static ConditionalWait ConditionalWait => Get<ConditionalWait>();
39+
public static IConditionalWait ConditionalWait => Get<IConditionalWait>();
4040

4141
/// <summary>
4242
/// Gets and sets thread-safe instance of browser.

Aquality.Selenium/src/Aquality.Selenium/Browsers/Browser.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class Browser : IApplication
1919
private TimeSpan implicitWaitTimeout;
2020
private TimeSpan pageLoadTimeout;
2121
private readonly IBrowserProfile browserProfile;
22-
private readonly ConditionalWait conditionalWait;
22+
private readonly IConditionalWait conditionalWait;
2323

2424
/// <summary>
2525
/// Instantiate browser.
@@ -111,6 +111,11 @@ public string CurrentUrl
111111
}
112112
}
113113

114+
/// <summary>
115+
/// Checkes whether current SessionId is null or not.
116+
/// </summary>
117+
public bool IsStarted => Driver?.SessionId != null;
118+
114119
/// <summary>
115120
/// Quit web browser.
116121
/// </summary>

Aquality.Selenium/src/Aquality.Selenium/Browsers/BrowserStartup.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
using Aquality.Selenium.Core.Applications;
99
using Aquality.Selenium.Configurations;
1010
using Aquality.Selenium.Core.Configurations;
11-
using CoreElementFactory = Aquality.Selenium.Core.Elements.Interfaces.IElementFactory;
12-
using CoreTimeoutConfiguration = Aquality.Selenium.Core.Configurations.ITimeoutConfiguration;
11+
using ICoreElementFactory = Aquality.Selenium.Core.Elements.Interfaces.IElementFactory;
12+
using ICoreTimeoutConfiguration = Aquality.Selenium.Core.Configurations.ITimeoutConfiguration;
1313
using ILoggerConfiguration = Aquality.Selenium.Core.Configurations.ILoggerConfiguration;
1414
using ITimeoutConfiguration = Aquality.Selenium.Configurations.ITimeoutConfiguration;
1515
using TimeoutConfiguration = Aquality.Selenium.Configurations.TimeoutConfiguration;
@@ -24,9 +24,9 @@ public override IServiceCollection ConfigureServices(IServiceCollection services
2424
settings = settings ?? GetSettings();
2525
base.ConfigureServices(services, applicationProvider, settings);
2626
services.AddTransient<IElementFactory, ElementFactory>();
27-
services.AddTransient<CoreElementFactory, ElementFactory>();
27+
services.AddTransient<ICoreElementFactory, ElementFactory>();
2828
services.AddSingleton<ITimeoutConfiguration>(serviceProvider => new TimeoutConfiguration(settings));
29-
services.AddSingleton<CoreTimeoutConfiguration>(serviceProvider => new TimeoutConfiguration(settings));
29+
services.AddSingleton<ICoreTimeoutConfiguration>(serviceProvider => new TimeoutConfiguration(settings));
3030
services.AddSingleton<IBrowserProfile>(serviceProvider => new BrowserProfile(settings));
3131
services.AddSingleton<ILocalizationManager>(serviceProvider => new LocalizationManager(serviceProvider.GetRequiredService<ILoggerConfiguration>(), serviceProvider.GetRequiredService<Logger>(), Assembly.GetExecutingAssembly()));
3232
services.AddTransient(serviceProvider => AqualityServices.BrowserFactory);

Aquality.Selenium/src/Aquality.Selenium/Elements/Actions/MouseActions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ public class MouseActions
1818
private readonly IElement element;
1919
private readonly string elementType;
2020
private readonly ILocalizedLogger logger;
21-
private readonly ElementActionRetrier elementActionsRetrier;
21+
private readonly IElementActionRetrier elementActionsRetrier;
2222

23-
public MouseActions(IElement element, string elementType, ILocalizedLogger logger, ElementActionRetrier elementActionsRetrier)
23+
public MouseActions(IElement element, string elementType, ILocalizedLogger logger, IElementActionRetrier elementActionsRetrier)
2424
{
2525
this.element = element;
2626
this.elementType = elementType;

Aquality.Selenium/src/Aquality.Selenium/Elements/Element.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
using Aquality.Selenium.Core.Localization;
1010
using Aquality.Selenium.Core.Waitings;
1111
using CoreElement = Aquality.Selenium.Core.Elements.Element;
12-
using CoreElementFactory = Aquality.Selenium.Core.Elements.Interfaces.IElementFactory;
13-
using CoreElementFinder = Aquality.Selenium.Core.Elements.Interfaces.IElementFinder;
14-
using CoreElementStateProvider = Aquality.Selenium.Core.Elements.Interfaces.IElementStateProvider;
12+
using ICoreElementFactory = Aquality.Selenium.Core.Elements.Interfaces.IElementFactory;
13+
using ICoreElementFinder = Aquality.Selenium.Core.Elements.Interfaces.IElementFinder;
14+
using ICoreElementStateProvider = Aquality.Selenium.Core.Elements.Interfaces.IElementStateProvider;
15+
using Aquality.Selenium.Core.Configurations;
1516

1617
namespace Aquality.Selenium.Elements
1718
{
@@ -24,7 +25,7 @@ protected Element(By locator, string name, ElementState state) : base(locator, n
2425
{
2526
}
2627

27-
public override CoreElementStateProvider State => new ElementStateProvider(Locator, ConditionalWait, Finder);
28+
public override ICoreElementStateProvider State => new ElementStateProvider(Locator, ConditionalWait, Finder);
2829

2930
protected IBrowserProfile BrowserProfile => AqualityServices.Get<IBrowserProfile>();
3031

@@ -36,19 +37,21 @@ protected Element(By locator, string name, ElementState state) : base(locator, n
3637

3738
protected override IApplication Application => AqualityServices.Browser;
3839

39-
protected override ElementActionRetrier ActionRetrier => AqualityServices.Get<ElementActionRetrier>();
40+
protected override IElementActionRetrier ActionRetrier => AqualityServices.Get<IElementActionRetrier>();
4041

41-
protected override CoreElementFactory Factory => CustomFactory;
42+
protected override ICoreElementFactory Factory => CustomFactory;
4243

4344
protected virtual IElementFactory CustomFactory => AqualityServices.Get<IElementFactory>();
4445

45-
protected override CoreElementFinder Finder => AqualityServices.Get<CoreElementFinder>();
46+
protected override ICoreElementFinder Finder => AqualityServices.Get<ICoreElementFinder>();
47+
48+
protected override IElementCacheConfiguration CacheConfiguration => AqualityServices.Get<IElementCacheConfiguration>();
4649

4750
protected override ILocalizedLogger LocalizedLogger => AqualityServices.LocalizedLogger;
4851

4952
protected ILocalizationManager LocalizationManager => AqualityServices.Get<ILocalizationManager>();
5053

51-
protected override ConditionalWait ConditionalWait => AqualityServices.ConditionalWait;
54+
protected override IConditionalWait ConditionalWait => AqualityServices.ConditionalWait;
5255

5356
public void ClickAndWait()
5457
{

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Aquality.Selenium.Elements
1717
/// </summary>
1818
public class ElementFactory : CoreFactory, IElementFactory
1919
{
20-
public ElementFactory(ConditionalWait conditionalWait, IElementFinder elementFinder, ILocalizationManager localizationManager)
20+
public ElementFactory(IConditionalWait conditionalWait, IElementFinder elementFinder, ILocalizationManager localizationManager)
2121
: base(conditionalWait, elementFinder, localizationManager)
2222
{
2323
}

Aquality.Selenium/src/Aquality.Selenium/Elements/ElementStateProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace Aquality.Selenium.Elements
77
{
88
public class ElementStateProvider : CoreElementStateProvider
99
{
10-
public ElementStateProvider(By elementLocator, ConditionalWait conditionalWait, IElementFinder elementFinder)
10+
public ElementStateProvider(By elementLocator, IConditionalWait conditionalWait, IElementFinder elementFinder)
1111
: base(elementLocator, conditionalWait, elementFinder)
1212
{
1313
}

Aquality.Selenium/src/Aquality.Selenium/Resources/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,8 @@
8282
},
8383
"logger": {
8484
"language": "en"
85+
},
86+
"elementCache": {
87+
"isEnabled": false
8588
}
8689
}

Aquality.Selenium/tests/Aquality.Selenium.Tests/Integration/TestApp/AutomationPractice/Forms/ProductForm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Aquality.Selenium.Tests.Integration.TestApp.AutomationPractice.Forms
99
internal class ProductForm : Form
1010
{
1111
private static readonly By ProductsLocator = By.Id("product");
12-
public IList<ILabel> LblsProductView => ElementFactory.FindElements(By.XPath("//li[contains(@id,'thumbnail_')]//a"), ElementFactory.GetLabel);
12+
public IList<ILabel> LblsProductView => ElementFactory.FindElements<ILabel>(By.XPath("//li[contains(@id,'thumbnail_')]//a"));
1313
public ITextBox TxtQuantity => ElementFactory.GetTextBox(By.Id("quantity_wanted"), "Quantity");
1414

1515
public ProductForm() : base(ProductsLocator, "Product")

0 commit comments

Comments
 (0)