Skip to content

Releases: atata-framework/atata

1.10.0

18 Feb 15:13
Compare
Choose a tag to compare

New Features

  • #461 Add Exclude* properties to MulticastAttribute
  • #462 Add Exclude* properties to AttributeSettingsAttribute
  • #466 Add verification extension methods for IDataVerificationProvider<Size, TOwner>
  • #467 Add TagAttribute and add properties to MulticastAttribute targeting tags
  • #469 Add Timeout and RetryInterval properties to FindAttribute and FindSettingsAttribute
  • #470 Add Configure* driver methods to AtataContextBuilder
  • #471 Add ContainExactly verification extension methods
  • #473 Add functionality to mask secret string in log
  • #474 Add local browser usage properties to AtataBuildingContext
  • #476 Add AutoSetUp* methods to AtataContextBuilder for driver(s) auto-setup
  • #477 Add extension methods for control delegates

Changes and Enhancements

  • #463 Remove exception catching that wraps AtataContext's OnBuilding, OnBuilt and OnDriverCreated methods
  • #464 Inherit UIComponentSizeProvider<TOwner> from DataProvider<Size, TOwner>
  • #465 Inherit UIComponentLocationProvider<TOwner> from DataProvider<Point, TOwner>
  • #468 Move OnInit and OnInitCompleted methods from PageObject<TOwner> to UIComponent<TOwner>
  • #472 Update Stringifier.ToString<T>(IEnumerable<T>) method to support multiline values format
  • #475 Add fallback functionality to DriverAtataContextBuilder<TBuilder, TService, TOptions> for driver path getting from environment variables
  • #478 Use Atata.WebDriverExtras package v1.5.0

Links

Atata 1.10.0 on NuGet
Atata 1.10.0 is Released - Atata Blog

1.9.0

15 Dec 15:18
Compare
Choose a tag to compare

New Features

  • #421 Click behavior functionality
  • #422 Add DispatchEvent method to UIComponentScriptExecutor<TOwner>
  • #423 Double-click behavior functionality
  • #424 Right-click behavior functionality
  • #425 Value set behavior functionality
  • #426 Value clear behavior functionality
  • #428 Value get behavior functionality
  • #429 Add EditableTextField<T, TOwner> control
  • #432 Add ContentEditor<TOwner> control
  • #433 Add FrameWrappedContentEditor<TOwner> control
  • #434 Add Type(string text) method to EditableTextField<T, TOwner> with value type behavior implementation
  • #437 Add Stringifier class
  • #440 Add ExecuteSection methods to LogManager
  • #441 Add NestingLevel property to LogEventInfo
  • #442 Add result properties to LogSection
  • #443 Add extension methods for ISearchContext that wrap actual methods with log sections
  • #444 Add extension methods for IWebElement that wrap actual methods with log sections
  • #446 Wrap behavior execution with log section
  • #447 Wrap trigger execution with log section
  • #449 Add extra overloaded SwitchToFrame and SwitchToRoot methods to PageObject<TOwner>
  • #450 Add SwitchToWindow method to PageObject<TOwner>
  • #452 Add extension methods for RemoteWebDriver that wrap actual methods with log sections
  • #453 Add log consumer configuration properties for hierarchical prefixes customization

Changes and Enhancements

  • #427 Update SetValue method of Input<T, TOwner> and TextArea<TOwner> to call OnClear method when value is null or empty
  • #430 Inherit Input<T, TOwner> from EditableTextField<T, TOwner>
  • #431 Inherit TextArea<TOwner> from EditableTextField<T, TOwner>
  • #435 Deprecate Input<T, TOwner>.Append(string value) method
  • #436 Deprecate TextArea<TOwner>.Append(string value) method
  • #439 Use Atata.WebDriverExtras package v1.4.0
  • #445 Replace Data*LogSection classes with Value*LogSection classes
  • #451 Deprecate SwitchTo method of PageObject<TOwner>
  • #454 Use Stopwatch to calculate pure test execution time
  • #455 Use Stopwatch in LogSection to calculate execution time
  • #456 Use Stopwatch to calculate total test execution time
  • #457 Add collection conversion support to ObjectConverter
  • #458 Add script result conversion thru IObjectConverter to methods of UIComponentScriptExecutor<TOwner>

Fixes

  • #438 Negative WaitTo and ExpectTo verifications are treated like negative Should assertions

Links

Atata 1.9.0 on NuGet
Atata 1.9.0 is Released - Atata Blog

1.8.0

30 Oct 17:00
Compare
Choose a tag to compare

New Features

  • #391 Script executor
  • #392 Support attributes declared at property level that target control's children
  • #397 AtataContext attributes
  • #398 Global level attributes
  • #402 Add TryGet method to UIComponentMetadata
  • #403 Add Contains method to UIComponentMetadata
  • #414 Add Add methods to UIComponentMetadata
  • #415 Add Remove and RemoveAll methods to UIComponentMetadata
  • #416 Add TargetAllChildren property to MulticastAttribute
  • #420 ObjectCreator

Changes and Enhancements

  • #394 Add parameterless generic AddScreenshotConsumer method to AtataContextBuilder
  • #399 Inherit UrlAttribute from MulticastAttribute
  • #400 Inherit NameAttribute from MulticastAttribute
  • #401 Inherit NavigationPageObjectCreatorAttribute from MulticastAttribute
  • #404 Inherit TraceLogAttribute from MulticastAttribute
  • #405 Inherit WindowTitleAttribute from MulticastAttribute
  • #406 Inherit ExtraXPathAttribute from MulticastAttribute
  • #407 Inherit GoTemporarilyAttribute from MulticastAttribute
  • #408 Inherit IdXPathForLabelAttribute from MulticastAttribute
  • #409 Inherit RandomizeCountAttribute from MulticastAttribute
  • #410 Inherit RandomizeIncludeAttribute from MulticastAttribute
  • #411 Inherit RandomizeExcludeAttribute from MulticastAttribute
  • #412 Inherit RandomizeNumberSettingsAttribute from MulticastAttribute
  • #413 Inherit RandomizeStringSettingsAttribute from MulticastAttribute
  • #417 Inherit TriggerAttribute from MulticastAttribute
  • #418 Make universal AttributeUsage of MulticastAttribute and inheritors
  • #419 Update attributes that implement IFindItemAttribute

Fixes

  • #393 Fail to log message containing "{" character
  • #395 Incorrect order of layered attributes

Links

Atata 1.8.0 on NuGet
Atata 1.8.0 is Released - Atata Blog

1.7.0

27 Aug 15:25
Compare
Choose a tag to compare

Check Atata 1.7.0 is Released blog post for major changes.

New Features

  • #381 Ability to specify driver ports to ignore
  • #388 Add extra OrderedList<TOwner> and UnorderedList<TOwner> controls using TextListItem<TOwner>
  • #389 Add BeInAscendingOrder and BeInDescendingOrder verification extension methods
  • #390 Add TextListItem<TOwner> control

Changes and Enhancements

  • #377 Append preceding slash to XPath passed into ControlList's SelectDataByExtraXPath and SelectContentsByExtraXPath methods
  • #379 Log DriverService port during AtataContext build
  • #382 Add parameterless generic AddLogConsumer method to AtataContextBuilder
  • #383 Log: change <> characters to [] for collections
  • #384 Log: write bool value in lower case

Fixes

  • #378 Driver service is not disposed when driver instance fails to create during building of AtataContext
  • #380 Assertion of empty ControlList<TItem, TOwner> takes extra time
  • #385 WaitTo and ExpectTo verifications are processed like Should (assertion) for UIComponent verification methods
  • #386 InnerException is lost when throwing NUnit.Framework.AssertionException
  • #387 Randomizer.GetString method fails when length is greater than 32

Links

Atata 1.7.0 on NuGet
Atata 1.7.0 is Released - Atata Blog

1.6.0

05 Aug 13:41
Compare
Choose a tag to compare

Check Atata 1.6.0 is Released blog post for major changes.

New Features

  • #365 Add PressHomeAttribute and PressEndAttribute triggers
  • #366 Add IsVisibleInViewPort to UIComponent<TOwner>
  • #369 Add HaveLength verification method for strings
  • #370 Add ScrollUp/ScrollDown methods to PageObject<TOwner>
  • #371 Add UriProvider<TOwner>
  • #375 Add ScrollToAttribute trigger
  • #376 Add Select* methods to ControlList<TItem, TOwner>

Changes and Enhancements

  • #372 Add missing ComponentTypeName to control definitions

Fixes

  • #373 FindAttribute layers fail to reference term or property name

Links

Atata 1.6.0 on NuGet
Atata 1.6.0 is Released - Atata Blog

1.5.0

23 Apr 16:32
Compare
Choose a tag to compare

Check Atata 1.5.0 is Released blog post for major changes.

New Features

  • #346 Add LocalDateTimeInput<TOwner> control
  • #347 Add Svg<TOwner> control and a set of its nested controls
  • #348 Add WithGlobalCapability method to driver builders
  • #350 Add PageSource property to PageObject<TOwner>
  • #353 Add log4net log consumer
  • #355 Add LazyInitializableLogConsumer
  • #356 Ability to reset/change FindAttribute for control
  • #357 Big improvement of UI components search mechanics
  • #360 FindAttribute layers
  • #361 Add .NET 4.6 as target framework
  • #363 Add AtataContextModeOfCurrent enum with ThreadStatic, Static and AsyncLocal values

Changes and Enhancements

  • #351 Add extra WithArguments method to driver builders
  • #358 FindAttribute to inherit MulticastAttribute
  • #359 Deprecate ControlFindingAttribute
  • #362 Use Atata.WebDriverExtras package v1.3.0

Links

Atata 1.5.0 on NuGet
Atata 1.5.0 is Released - Atata Blog

1.4.0

19 Nov 14:02
Compare
Choose a tag to compare

Check Atata 1.4.0 is Released blog post for major changes.

New Features

  • #318 Expectation verification functionality
  • #319 Waiting verification functionality
  • #320 Add WaitingTriggerAttribute
  • #321 Add WaitUntilEnabledAttribute trigger
  • #323 Add FindByScriptAttribute
  • #324 Add overloaded collection verification methods with IEnumerable argument
  • #328 Add FindByDescendantAttributeAttribute
  • #329 Add FindByDescendantIdAttribute
  • #330 Add ValueGetFormatAttribute
  • #331 Add ValueSetFormatAttribute
  • #332 Add UseNUnitAssertionExceptionType method to AtataContextBuilder
  • #333 Add UseAllNUnitFeatures method to AtataContextBuilder

Links

Atata 1.4.0 on NuGet
Atata 1.4.0 is Released - Atata Blog

1.3.0

17 Sep 15:31
Compare
Choose a tag to compare

Check Atata 1.3.0 is Released blog post for major changes.

New Features

  • #299 Add 2 extra Warn methods to ILogManager
  • #300 Add 2 extra Warn methods to Report<TOwner>
  • #303 Add ResolveComponentFullName method to UIComponentResolver
  • #304 Add AssertionResults property to AtataContext
  • #305 Aggregate (multiple) assertion functionality
  • #306 Add FindByAltAttribute
  • #307 Add ImageInput<TOwner> control
  • #308 Add ImageInput<TNavigateTo, TOwner> control
  • #310 Add For property to Label<T, TOwner>

Changes and Enhancements

  • #297 Add and use InvokeStaticAsLambda extension methods for MethodInfo
  • #298 Add and use InvokeAsLambda extension methods for MethodInfo
  • #309 Add extra constructor to ScreenshotAttribute
  • #311 Support VerifyTitleSettingsAttribute at more metadata levels

Links

Atata 1.3.0 on NuGet
Atata 1.3.0 is Released - Atata Blog

1.2.0

13 Jun 13:29
Compare
Choose a tag to compare

Check Atata 1.2.0 is Released blog post for major changes.

New Features

  • #271 Add PageObjectVerificationProvider<TPageObject> for PageObject<TOwner>
  • #272 Add FindItemByRelativeElementContentAttribute
  • #273 Add FindItemByParentContentAttribute
  • #274 Add FindItemByFollowingSiblingContentAttribute
  • #275 Add FindItemByPrecedingSiblingContentAttribute
  • #276 Add ContainSingle(TData expected) verification extension methods
  • #277 Add ContainSingle() verification extension method
  • #278 Add ContainSingle(Expression<Func<TItem, bool>> predicateExpression) verification extension method
  • #279 Add VerificationUtils static class

Changes and Enhancements

  • #280 Update Contain(Expression<Func<TControl, bool>> predicateExpression) verification extension method

Fixes

  • #286 Fix IUIComponentVerificationProviderExtensions.Exist method to throw AssertionException instead of NoSuchElementException

Links

Atata 1.2.0 on NuGet
Atata 1.2.0 is Released - Atata Blog

1.1.0

02 May 13:29
Compare
Choose a tag to compare

Check Atata 1.1.0 is Released blog post for major changes.

New Features

  • #231 Add AssociatedControlList<TItem, TOwner>
  • #232 Add LabelList<TOwner>
  • #234 Add ChildTextNodes value to ContentSource
  • #235 Add ChildTextNodesTrimmed value to ContentSource
  • #236 Add ChildTextNodesTrimmedAndSpaceJoined value to ContentSource
  • #237 Add FirstChildTextNode value to ContentSource
  • #238 Add LastChildTextNode value to ContentSource
  • #239 Add GetContent(ContentSource source) method to UIComponent<TOwner>
  • #242 Add RefreshPageUntil method to PageObject<TOwner>
  • #246 Make UriUtils public
  • #259 Add Label<T, TOwner> control
  • #264 Add TestNameSanitized property to AtataContext and LogEventInfo
  • #266 Make ActivatorEx static class public
  • #267 Make ObjectExpressionStringBuilder class public
  • #270 Add UseDriver(RemoteWebDriver driver) method to AtataContextBuilder

Changes and Enhancements

  • #228 Update RadioButton<TOwner>.Check method to avoid click when it is already checked
  • #229 Make SequalComponentScopeLocateResult.ScopeSource property obsolete
  • #233 Remake ContentSourceAttribute to behavior
  • #240 Enhance TermResolver.GetEnumTerms method to consider correctly enum attributes
  • #241 Update SentenceTermFormatter and MidSentenceTermFormatter to lowercase only first word letter
  • #244 Use Selenium.WebDriver package v3.141.0
  • #245 Use Atata.WebDriverExtras package v1.2.0
  • #247 Add CellXPath property to FindByColumnIndexStrategy
  • #248 Add HeaderXPath property to FindByColumnHeaderStrategy
  • #249 Split FindByColumnHeaderStrategy.Find method
  • #250 Use XPathString in TermMatchExtensions.CreateXPathCondition methods to handle string values containing quote character
  • #251 Deprecate TermMatchExtensions.GetXPathOperationFormat extension method
  • #252 Use ToShortIntervalString and ToLongIntervalString TimeSpan extension methods instead of ToIntervalString appropriately
  • #253 Deprecate TimeSpanExtensions.ToIntervalString extension method
  • #254 Add ability to declare IFindItemAttribute at any level
  • #255 Deprecate IItemsControl interface
  • #257 OptionList<T, TOwner>.GetItemElements method should throw NoSuchElementException if no elements found
  • #258 Throw more detailed exceptions in ControlListScopeLocator
  • #260 Throw more detailed exceptions in StrategyScopeLocator
  • #261 Add inner exception to AssertionException when thrown in IDataVerificationProviderExtensions.Satisfy methods
  • #262 Add inner exception to AssertionException when thrown in IUIComponentVerificationProviderExtensions.HaveChecked method
  • #263 Make UIComponent.ComponentName property settable
  • #265 Make AtataContext.Current property settable
  • #268 Make AtataContext.CleanUpActions property public
  • #269 Make AtataContext.BaseUrl property settable

Links

Atata 1.1.0 on NuGet
Atata 1.1.0 is Released - Atata Blog