Skip to content

Releases: atata-framework/atata

2.1.0

20 Jul 10:49
Compare
Choose a tag to compare

Breaking Changes

  • #664 Remove Opera driver classes and members

Changes and Enhancements

  • #665 Use Selenium.WebDriver package v4.3.0
  • #666 Use Atata.WebDriverExtras package v2.1.0
  • #667 Update ActionsExtensions.MoveToElement method to use Actions.MoveToElement(IWebElement, int, int) method instead of Actions.MoveToElement(IWebElement, int, int, MoveToElementOffsetOrigin)
  • #668 Update default scroll behavior to use Actions.ScrollToElement(IWebElement) instead of Actions.MoveToElement(IWebElement)

Links

2.0.1

19 May 18:21
Compare
Choose a tag to compare

Changelog

Fixes

  • #663 ControlList<TItem, TOwner> ambiguous method calls

Links

Full Changelog: v2.0.0...v2.0.1

2.0.0

11 May 08:40
Compare
Choose a tag to compare

Changelog

Breaking Changes

  • #580 Change getting of content to skip whitespace text nodes using ContentSource values: FirstChildTextNode, LastChildTextNode and ChildTextNodesTrimmedAndSpaceJoined
  • #581 Return "" instead of null as value of string-based field component
  • #582 Remove obsolete behavior attributes
  • #583 Remove obsolete types and members
  • #585 Remove Triggers property of UIComponent<TOwner>
  • #589 Rename classes related to component scope finding
  • #590 Rename LogConsumerInfo to LogConsumerConfiguration
  • #594 Change type of DirectorySubject.Directories property to SubdirectoriesProvider
  • #595 Change type of DirectorySubject.Files property to DirectoryFilesProvider
  • #599 Set target .NET framework to only .NET Standard 2.0
  • #600 Rename ExtendedStringFormatter to AtataTemplateStringFormatter
  • #601 Remove ApplyMetadata method from UIComponent
  • #602 Replace InitValueTermOptions method with GetValueTermOptions in Field<T, TOwner>
  • #603 Remove ValueTermOptions property from IDataProvider<out TData, out TOwner> and all classes implementing it
  • #604 Update TitleTermFormatter to not lowercase "from" and "with"
  • #605 Replace IPropertySettings with IHasOptionalProperties
  • #606 Change PropertyBag
  • #607 Add UIComponentMetadata parameter to CreateStrategy and BuildComponentName method of FindAttribute
  • #608 Remove Properties property from MulticastAttribute
  • #609 Replace RemoteWebDriverLoggingExtensions with IJavaScriptExecutorLoggingExtensions
  • #610 Replace RemoteWebDriver usage with IWebDriver
  • #611 Use Selenium.WebDriver package v4.1.1
  • #613 Replace WithCapability method of DriverAtataContextBuilder<TBuilder, TService, TOptions> with AddAdditionalBrowserOption
  • #614 Replace WithGlobalCapability method of driver AtataContextBuilder's with AddAdditionalOption
  • #616 Change default value of AtataContext.ModeOfCurrent property to AtataContextModeOfCurrent.AsyncLocal
  • #617 Rename WaitAttribute to WaitSecondsAttribute
  • #619 Remove Component property from IDataProvider<out TData, out TOwner>
  • #620 Replace inheritance of IDataProvider<out TData, out TOwner> with IObjectProvider<out TObject, out TOwner>
  • #621 Make obsolete DataProvider<TData, TOwner> and IDataProvider<TData, TOwner>
  • #622 Inherit ControlList<TItem, TOwner> from IEnumerableProvider<TItem, TOwner> instead of IDataProvider<TData, TOwner>
  • #626 Rename DataVerificationProvider<TData, TOwner> to ObjectVerificationProvider<TObject, TOwner>
  • #627 Rename Value property of IObjectProvider<out TObject> to Object
  • #628 Rename IsValueDynamic property of IObjectProvider<out TObject, out TOwner> to IsDynamic
  • #629 Rename Value property of IObjectSource<out TObject> to Object
  • #630 Rename EnumerableProvider<TItem, TOwner> to EnumerableValueProvider<TItem, TOwner>
  • #633 Remove VerificationKind property from IVerificationProvider<out TOwner>
  • #634 Change return type of IVerificationProvider<out TOwner>.GetRetryOptions method
  • #635 Remove GetShouldText method from IVerificationProvider<out TOwner>
  • #636 Remove ReportFailure method from IVerificationProvider<out TOwner>
  • #639 Extract WithProperties method of AtataContextBuilder<TContext> to extension method
  • #640 Extract log consumer methods from AtataContextBuilder to new LogConsumersAtataContextBuilder
  • #641 Extract screenshot consumer methods from AtataContextBuilder to new ScreenshotConsumersAtataContextBuilder
  • #645 Change date/time format of {build-start} folder in AtataContext.Artifacts directory path to yyyyMMddTHHmmss
  • #647 Update FileScreenshotConsumer and NLogFileConsumer to use AtataContext.Artifacts as a default DirectoryPathBuilder
  • #650 Change default control visibility from Visible to Any
  • #657 Rename AtataContextInitEvent to AtataContextInitStartedEvent
  • #660 Use Atata.WebDriverExtras package v2.0.0

New Features

  • #586 Add HasDriver property to AtataContext
  • #588 Add ToggleRandom method to RadioButtonList<T, TOwner>
  • #623 Add CreateValueProvider method to UIComponent<TOwner>
  • #624 Add DynamicObjectSource.Create method
  • #625 Add support of UIComponent script arguments to UIComponentScriptExecutor<TOwner>
  • #632 Add WithRetryInterval and WithRetryIntervalSeconds methods to VerificationProvider<TVerificationProvider, TOwner>
  • #643 New WaitForAlertBoxAttribute trigger
  • #646 Add IDictionary<string, object> Variables property to AtataContext
  • #651 Add DefaultControlVisibility property to AtataContext
  • #652 Add FindOnlyVisibleAttribute inherited from FindSettingsAttribute with preset Visibility = Visibility.Visible
  • #653 Add visibility set extension methods for FindAttribute
  • #658 Add AtataContextPreInitEvent

Changes and Enhancements

  • #596 Change default file name format of FileScreenshotConsumer
  • #597 Wrap UIComponent scope element getting in StaleSafely.Execute
  • #612 Add Microsoft.CSharp v4.7.0 package reference
  • #615 Extract ChromiumAtataContextBuilder<TBuilder, TService, TOptions> from ChromeAtataContextBuilder for reuse by EdgeAtataContextBuilder
  • #618 Update implementation of DragsAndDropsUsingActionsAttribute to use Actions.DragAndDrop
  • #631 Rename Within method of VerificationProvider<TVerificationProvider, TOwner> to WithinSeconds
  • #637 Change log level of "Clean up AtataContext" log section from Info to Trace
  • #638 EventBus should call subscriptions in the order they were subscribed
  • #642 Rename FolderPathBuilder property of NLogFileConsumer to DirectoryPathBuilder
  • #644 Rename FolderPathBuilder and FolderPath properties of FileScreenshotConsumer to DirectoryPathBuilder and DirectoryPath
  • #648 Make obsolete properties of LogEventInfo
  • #654 Rename PageObject<TOwner>.Wait(double seconds) method to WaitSeconds
  • #655 Move types from Atata.TermFormatting namespace to Atata
  • #656 Remove logging of event handler execution from EventBus

Fixes

  • #649 Base class attribute doesn't get to metadata when there is the same attribute in a base class

Links

Full Changelog: v1.14.0...v2.0.0

1.14.0

10 Nov 17:21
Compare
Choose a tag to compare

New Features

  • #571 Global events functionality
  • #572 Add AtataContext events
  • #573 Add PageObject<TOwner> events
  • #574 Add ScreenshotFileSavedEvent event
  • #576 Make AtataContext.UIComponentAccessChainScopeCache property public
  • #577 Add SubjectOf and DynamicSubjectOf methods to SubjectBase<TObject, TSubject> and Subject
  • #579 Add AggregateAssert method to SubjectBase<TObject, TSubject>

Changes and Enhancements

  • #575 Make obsolete old event subscription methods of AtataContextBuilder
  • #578 Add assertionScopeName optional parameter to AggregateAssert methods of PageObject<TOwner>

Links

Atata 1.14.0 on NuGet
Atata 1.14.0 is Released - Atata Blog

1.13.1

26 Oct 10:37
Compare
Choose a tag to compare

Fixes

  • #570 ControlList<TItem, TOwner> caches and returns the same item for similar predicate

Links

Atata 1.13.1 on NuGet
Atata 1.13.1 is Released - Atata Blog

1.13.0

21 Oct 14:50
Compare
Choose a tag to compare

New Features

  • #542 New TypesTextUsingFocusBehaviorAndSendKeysAttribute
  • #543 New FocusAttribute trigger
  • #547 Add Find and FindAll methods to UIComponent<TOwner>
  • #550 Add Be verification extension method
  • #554 Scope cache functionality
  • #557 Table column header texts cache functionality
  • #559 Clear cache functionality
  • #560 Add GetOption method to Select<T, TOwner>
  • #561 New UsesCacheAttribute
  • #562 Value cache functionality
  • #564 Control blur functionality
  • #565 New BlurAttribute trigger
  • #567 Add AtataContext Context property to UIComponent

Changes and Enhancements

  • #548 Verification trigger attributes to inherit from WaitingTriggerAttribute
  • #549 Add two spaces before "Actual" text in verification exception message
  • #552 Shorten equality expected condition text in verification exception message
  • #553 Add ability to MulticastAttribute to target self and children components together
  • #558 Add ability to use offsets in HoversUsingActionsAttribute

Fixes

  • #545 Select<T, TOwner> doesn't handle options with empty text or value for enum
  • #556 PageObject<TOwner>.Init method is invoked when AtataContext.Current.PageObject holds previous page object instance
  • #566 Exists property of FileSubject and DirectorySubject doesn't update dynamically

Links

Atata 1.13.0 on NuGet
Atata 1.13.0 is Released - Atata Blog

1.12.0

01 Sep 14:35
Compare
Choose a tag to compare

New Features

  • #511 Add Names property to DirectoryEnumerableProvider<TOwner> and FileEnumerableProvider<TOwner>
  • #513 Add extra overload of verification Contain extension method
  • #514 Add verification extension methods for DirectorySubject: Exist, ContainFile, ContainFiles, ContainDirectory and ContainDirectories
  • #515 Add Exist verification extension method for FileSubject
  • #516 Add DisposableSubject<T>
  • #518 Should.Throw and Should.Not.Throw verification functionality
  • #520 Add ExecuteBehavior methods to UIComponent
  • #524 Focus behavior functionality
  • #525 Hover behavior functionality
  • #526 Drag and drop to offset behavior functionality
  • #527 New SetsValueUsingClearAndTypeBehaviorsAttribute
  • #529 Add AddValue(string value) and AddValueAndDispatchChangeEvent(string value) methods to UIComponentScriptExecutor<TOwner>
  • #530 New TypesTextUsingScriptAttribute
  • #531 New TypesTextUsingSendKeysCharByCharAttribute
  • #532 New TypesTextUsingFocusBehaviorAndSendKeysCharByCharAttribute
  • #533 Add Satisfy(Expression<Predicate<TData>> predicateExpression) verification extension method
  • #534 Add Satisfy(Expression<Predicate<IEnumerable<TData>>> predicateExpression) verification extension method
  • #538 Add BePresent verification method analogical to Exist
  • #539 Add DriverInitializationStage property to AtataContext

Changes and Enhancements

  • #512 Change enumerable argument types of extension methods of IDataVerificationProviderExtensions
  • #519 Update ClearValueAttribute trigger to invoke Clear method of a component
  • #521 Update SetValue method of CheckBox<TOwner>
  • #522 Update base component classes to execute behaviors through ExecuteBehavior methods
  • #523 Rename behavior attributes
  • #528 Use SetsValueUsingClearAndTypeBehaviorsAttribute as a default value set behavior of EditableTextField<T, TOwner>
  • #535 Change ControlDefinition of Input<T, TOwner> to consider elements without type attribute
  • #536 Update Exist verification method to handle NoSuchElementException and NotMissingElementException as actual message
  • #537 Update BeVisible and BeHidden verification methods to work similarly to Exist method

Fixes

  • #510 Exception occurs when referencing non-existent subdirectories of DirectorySubject through indexer

Links

Atata 1.12.0 on NuGet
Atata 1.12.0 is Released - Atata Blog

1.11.2

09 Jun 15:39
Compare
Choose a tag to compare

Fixes

  • #506 NLogFileConsumer doesn't write logs for some tests at startup when tests are run with parallelization

Links

Atata 1.11.2 on NuGet
Atata 1.11.2 is Released - Atata Blog

1.11.1

07 Jun 15:31
Compare
Choose a tag to compare

Fixes

  • #503 NLogFileConsumer writes all logs to single log file
  • #504 AtataNavigator doesn't set its context to AtataContext.Current on methods calls
  • #505 LogEventInfo lacks AtataContext information when AtataContext.Current is null

Links

Atata 1.11.1 on NuGet
Atata 1.11.1 is Released - Atata Blog

1.11.0

04 Jun 09:18
Compare
Choose a tag to compare

New Features

  • #480 Add TestSuiteName and TestSuiteType properties to AtataContext
  • #481 Add UseNUnitTestSuiteName and UseNUnitTestSuiteType methods to AtataContextBuilder
  • #482 Add Navigation/Go API to AtataContext
  • #485 New ImprovedExpressionStringBuilder class
  • #487 Object verification functionality
  • #489 IO verification functionality
  • #491 Add Artifacts directory to AtataContext
  • #492 Add FillTemplateString method to AtataContext
  • #493 Add WithArtifactsFolderPath extension method for AtataContextBuilder<FileScreenshotConsumer>
  • #495 Add NLogFileConsumer log consumer
  • #497 Add ValueSetUsingCharByCharTypingAttribute behavior attribute
  • #498 Add TimeZone property to AtataContext
  • #499 Add OnCleanUpAddArtifactsToNUnitTestContext and OnCleanUpAddDirectoryFilesToNUnitTestContext methods to AtataContextBuilder
  • #500 Add WithArtifactsAsDownloadDirectory and WithDownloadDirectory methods to ChromeAtataContextBuilder

Changes and Enhancements

  • #484 Remove TOwner type constraint from IDataProvider<out TData, TOwner>
  • #486 Modify verification functionality to be able to work without AtataContext.Current instance
  • #490 Truncate exception message in LogSection result
  • #494 Update FileScreenshotConsumer to use AtataContext.FillTemplateString method
  • #496 Update NLogConsumer

Links

Atata 1.11.0 on NuGet
Atata 1.11.0 is Released - Atata Blog