Atata 0.15.0 has been released with .NET Core/Standard 2.0 support. Check the changelog, major features and .NET Core issues.
Changelog
Breaking Changes
- break
#98 Remove obsolete members of
UIComponentMetadata
- break
#99 Remove obsolete member of
UIComponentResolver
New Features
- minor
#86 Add
GetScope
method toUIComponent
- major
#95 Add
Wait
method toUIComponent<TOwner>
- major
#96 Add
WaitForAttribute
trigger - major #101 Fix command execution delay of WebDriver for .NET Core 2.0
- minor #103 Culture configuration
Changes and Enhancements
- minor
#87 Enhance
ScopeSourceExtensions
methods - major
#88 Use
Selenium.WebDriver
andSelenium.Support
packages v3.6.0 - major
#89 Use
Atata.WebDriverExtras
package v0.13.0 - minor
#90 Handle
StaleElementReferenceException
inWaitForElementAttribute
- minor
#91 Handle
StaleElementReferenceException
inExist
verification extension method - minor
#92 Handle
StaleElementReferenceException
in data verification extension methods - major #93 Support .NET Standard 2.0
- minor
#94 Replace
WaitUntil
enum withUntil
- minor
#97 Log execution of
WaitForElementAttribute
trigger - minor
#100 Add
DriverAtataContextBuilder<TBuilder>
base driver builder class - minor
#102 Add
WithLocalDriverPath
method toDriverAtataContextBuilder<TBuilder, TService, TOptions>
Fixes
- fix #85 Control
Init
andDeInit
triggers don’t execute
.NET Core Support
.NET Standard 2.0 version of Atata added with v0.15.0. Now you can use Atata package in .NET Core 2.0 test project. You can also create .NET Standard 2.0 library project for Atata components package.
WebDriver .NET Core Issues
There is a bug in Selenium WebDriver v3.6.0 for .NET Core 2.0: each WebDriver request takes extra 1 second. It makes execution of WebDriver actions very slow.
The fix is added within Atata package.
Use WithFixOfCommandExecutionDelay
driver configurational method to get round of this bug.
Check the fix details:
#101 Fix command execution delay of WebDriver for .NET Core 2.0.
WebDriver doesn’t look for driver (e.g., “chromedriver.exe”) in local folder in .NET Standard 2.0 version.
Use WithLocalDriverPath
driver configurational method if you use .NET Core 2.0 project that uses driver as a project package (hosted in the same build directory).
Check the fix details:
#102 Add WithLocalDriverPath method to DriverAtataContextBuilder<TBuilder, TService, TOptions>.
NUnit .NET Core Issues
Current NUnit3TestAdapter package v3.8.0 doesn’t support parallel test execution yet.
Current NUnit package v3.8.1 doesn’t support SetCulture
and SetUICulture
attributes.
Please check
#103 for Culture configuration using UseCulture
configurational method.
Running Tests with Visual Studio
For test detection in “Test Explorer” VS panel, .NET Core requires Microsoft.NET.Test.Sdk package to be added to the project containing tests (no matter NUnit, xUnit, MSTest, etc.).
Wait Method
Added new method to UIComponent<TOwner>
:
public TOwner Wait(Until until, WaitOptions options = null);
Usage
ContentBlock.Wait(Until.Visible);
WaitForAttribute Trigger
Added new WaitForAttribute
trigger with the following constructor:
public WaitForAttribute(Until until = Until.Visible, TriggerEvents on = TriggerEvents.Init, TriggerPriority priority = TriggerPriority.Medium);
It calls component’s Wait
method passing Until
value to it.
Usage
// Wait upon page oject initialization until the control is visible.
[WaitFor]
public Text<_> ContentBlock { get; private set; }
// Wait upon page oject deinitialization until the control is missing or hidden.
[WaitFor(Until.MissingOrHidden, TriggerEvents.DeInit)]
public Text<_> SavingIndicator { get; private set; }
StaleElementReferenceException Handling
Added handling of StaleElementReferenceException
to WaitForElementAttribute
trigger and verification methods. Basically, when StaleElementReferenceException
occurs, Atata catches it and retries an action again.