All Versions
12
Latest Version
Avg Release Cycle
91 days
Latest Release
71 days ago

Changelog History
Page 1

  • v1.4.0

    November 19, 2019

    🚀 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

    📦 Atata 1.4.0 on NuGet
    🚀 Atata 1.4.0 is Released - Atata Blog

  • v1.3.0

    September 17, 2019

    🚀 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

    📦 Atata 1.3.0 on NuGet
    🚀 Atata 1.3.0 is Released - Atata Blog

  • v1.2.0

    June 13, 2019

    🚀 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

    📦 Atata 1.2.0 on NuGet
    🚀 Atata 1.2.0 is Released - Atata Blog

  • v1.1.0

    May 02, 2019

    🚀 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

    📦 Atata 1.1.0 on NuGet
    🚀 Atata 1.1.0 is Released - Atata Blog

  • v1.0.0

    October 15, 2018

    🚀 Check Atata 1.0.0 is Released blog post for major changes.

    💥 Breaking Changes

    • #193 Change behavior of FindSettingsAttribute and TermFindSettingsAttribute
    • 📇 #206 Fix typo in ComponentDefinitonAttribute property name of UIComponentMetadata
    • 🚚 #213 Remove PhantomJSDriver usage
    • 🚚 #218 Remove WithCapabilities method of RemoteDriverAtataContextBuilder
    • 🚚 #221 Remove obsolete types and members inclusive prior v0.15.0

    🆕 New Features

    • #185 Add Image<TOwner> control
    • #189 Add RightClickParentAttribute trigger
    • 📇 #194 Add overloaded Get and GetAll methods to UIComponentMetadata without required parameters
    • #195 Add AttributeSettingsAttribute
    • #196 Add AttributeFilter<TAttribute> class
    • 📇 #197 Add overloaded Get and GetAll methods to UIComponentMetadata that use AttributeFilter<TAttribute>
    • #210 Add Do(Action action) method to PageObject<TOwner>
    • #212 Add IsPresent property to UIComponent<TOwner>
    • #219 Add overloaded WithOptions methods to RemoteDriverAtataContextBuilder
    • #220 Add overloaded WithOptions method to DriverAtataContextBuilder<TBuilder, TService, TOptions>
    • #224 Create Report<TOwner> class and add Report property to PageObject<TOwner>

    🔄 Changes and Enhancements

    • #192 Add IsTargetSpecified and TargetAnyType properties to MulticastAttribute
    • 📇 #198 Add AttributeSettingsAttribute filtering by TargetAttributeTypes to UIComponentMetadata
    • 📇 #199 Mark as obsolete old Get and GetAll methods of UIComponentMetadata
    • #200 Make some members of UIComponent and UIComponent<TOwner> public
    • 📇 #203 Add Push methods to UIComponentMetadata
    • 📇 #204 Update UIComponentResolver.CreateControlForProperty method to push attributes into metadata
    • #205 Inherit ScopeDefinitionAttribute from MulticastAttribute
    • 📇 #207 Dynamic resolving of UIComponentMetadata.ComponentDefinitionAttribute
    • #208 Enhance SequalComponentScopeLocateResult to support multiple scope sources
    • #209 Change types of UIComponentResolver dictionaries to ConcurrentDictionary<TKey, TValue>
    • 📦 #214 Use Selenium.WebDriver package v3.14.0
    • 📦 #215 Use Atata.WebDriverExtras package v1.1.0
    • #217 Improve FileInput<TOwner> to handle hidden input
    • #222 Mark as obsolete Get method of DataProvider<TData, TOwner>

    🛠 Fixes

    • #191 Incorrect applying of MulticastAttribute defined at component level
    • #201 Incorrect handling of null value by some setters of properties of MulticastAttribute
    • #202 FindByColumnHeaderStrategy fails for table inside another table
    • #211 NoSuchElementException is thrown when access UIComponent.IsVisible property of hidden/missing element
    • 🐧 #216 Navigation using relative URL fails on Linux

    📦 Atata 1.0.0 on NuGet
    🚀 Atata 1.0.0 is Released - Atata Blog

  • v0.17.0

    May 31, 2018

    🚀 Check Atata 0.17.0 Released blog post for major features.

    🆕 New Features

    • 💻 #140 Add access chain cache for UI component scope
    • #149 Add FrameSetPage<TOwner> base page object class
    • #153 WaitingTimeout and WaitingRetryInterval
    • #155 ElementFindTimeout and ElementFindRetryInterval
    • #156 VerificationTimeout and VerificationRetryInterval
    • #159 Add ClickAndGo method to Control<TOwner>
    • #160 Add DoubleClickAndGo method to Control<TOwner>
    • #161 Add WaitForScriptAttribute base trigger
    • #168 Add SetRandom(Action<T> callback) method to EditableField<T, TOwner>
    • #169 Add ContainingClasses property to ScopeDefinitionAttribute
    • #170 Add OnBuilding and OnBuilt methods to AtataContextBuilder
    • #171 Add OnDriverCreated methods to AtataContextBuilder
    • #175 Add WithHostName method to DriverAtataContextBuilder3`
    • #177 Add ActiveControl property to PageObject<TOwner>
    • #178 Add PerformActions method to PageObject<TOwner>

    🔄 Changes and Enhancements

    • #144 Inherit CultureAttribute from MulticastAttribute
    • #145 Inherit FormatAttribute from MulticastAttribute and make FormatSettingsAttribute obsolete
    • #146 Add more specific exceptions to AtataMapper
    • 👍 #148 Add <frame> element support to Frame<TOwner> control in addition to <iframe>
    • 0️⃣ #151 Set default format for path variables of DateTime type for FileScreenshotConsumer
    • 👍 #152 Add support of inner format of string path variables for FileScreenshotConsumer
    • #154 BaseRetryTimeout and BaseRetryInterval
    • #162 Inherit WaitForAngularJSAjaxAttribute from WaitForScriptAttribute
    • #163 Inherit WaitForJQueryAjaxAttribute from WaitForScriptAttribute
    • #164 Inherit WaitForDocumentReadyStateAttribute from WaitForScriptAttribute
    • 📦 #165 Use Selenium.WebDriver package v3.12.1
    • 📦 #166 Use Atata.WebDriverExtras package v1.0.0
    • 0️⃣ #172 Set "*" as default scopeXPath of ScopeDefinitionAttribute
    • ⚡️ #176 Update WithFixOfCommandExecutionDelay method of DriverAtataContextBuilder3to invokeWithHostName` method

    🛠 Fixes

    • #150 FileScreenshotConsumer doesn't handle path variables
    • #157 NoSuchElementException can be thrown during verification before timeout
    • #167 Fails to work with NLog v4.5.0

    📦 Atata 0.17.0 on NuGet
    🚀 Atata 0.17.0 Released - Atata Blog

  • v0.16.0

    December 19, 2017

    🚀 Check Atata 0.16.0 Released blog post for major features.

    🆕 New Features

    • #117 Add WithSettings extension method for IDataVerificationProvider<TData, TOwner>
    • #118 Add HaveClass verification extension method
    • #121 Add ConsoleLogConsumer
    • #126 Add GetByXPathCondition method to ControlList<TItem, TOwner>
    • #129 Add RestartDriver method to AtataContext
    • #131 Add TelInput<TOwner> control
    • #132 Add FileInput<TOwner> control
    • #133 Add SearchInput<TOwner> control
    • #134 Add EmailInput<TOwner> control
    • #135 Add UrlInput<TOwner> control
    • #137 Add OrdinaryPage

    🔄 Changes and Enhancements

    • #113 Improve control name generation by expression
    • #114 Enhance FindItemByLabel finding
    • #119 Change Index handling of VerifyH1-VerifyH6 triggers
    • ⚡️ #120 Update TextOutputLogConsumer
    • 📦 #122 Use Atata.WebDriverExtras package v0.14.0
    • #123 Change HiddenInput<T, TOwner> control finding
    • #124 Implement IPropertySettings by MulticastAttribute
    • #125 Inherit TermSettingsAttribute from MulticastAttribute
    • #127 Enhance Select<T, TOwner> control
    • 📦 #128 Remove Selenium.Support package reference
    • ⚡️ #130 Update AtataContextBuilder to throw when driver is not specified
    • 📦 #136 Use Selenium.WebDriver package v3.8.0

    🛠 Fixes

    • #112 Match verification method fails for regex with curly brackets
    • #116 Should.Not.Exist() fails for controls with specific find strategies

    📦 Atata 0.16.0 on NuGet
    🚀 Atata 0.16.0 Released - Atata Blog

  • v0.15.0

    October 12, 2017

    🚀 Check Atata 0.15.0 Released blog post for major features and .NET Core issues.

    💥 Breaking Changes

    • 📇 #98 Remove obsolete members of UIComponentMetadata
    • 🚚 #99 Remove obsolete member of UIComponentResolver

    🆕 New Features

    • #86 Add GetScope method to UIComponent
    • #95 Add Wait method to UIComponent<TOwner>
    • #96 Add WaitForAttribute trigger
    • #101 Fix command execution delay of WebDriver for .NET Core 2.0
    • 🔧 #103 Culture configuration

    🔄 Changes and Enhancements

    • #87 Enhance ScopeSourceExtensions methods
    • 📦 #88 Use Selenium.WebDriver and Selenium.Support packages v3.6.0
    • 📦 #89 Use Atata.WebDriverExtras package v0.13.0
    • #90 Handle StaleElementReferenceException in WaitForElementAttribute
    • #91 Handle StaleElementReferenceException in Exist verification extension method
    • #92 Handle StaleElementReferenceException in data verification extension methods
    • 👍 #93 Support .NET Standard 2.0
    • #94 Replace WaitUntil enum with Until
    • 🌲 #97 Log execution of WaitForElementAttribute trigger
    • 🏗 #100 Add DriverAtataContextBuilder<TBuilder> base driver builder class
    • #102 Add WithLocalDriverPath method to DriverAtataContextBuilder<TBuilder, TService, TOptions>

    🛠 Fixes

    • #85 Control Init and DeInit triggers don't execute

    📦 Atata 0.15.0 on NuGet
    🚀 Atata 0.15.0 Released - Atata Blog

  • v0.14.0

    September 22, 2017

    🚀 Check Atata 0.14.0 Released blog post for major features.

    💥 Breaking Changes

    • 🚚 #67 Remove obsolete screenshot consumer extension methods

    🆕 New Features

    • 🌲 #58 Resolve log consumer by type name or alias
    • #60 Add AtataMapper class
    • #62 Resolve screenshot consumer by type name or alias
    • #64 Add RemoteDriverAtataContextBuilder
    • 🔧 #72 Multi-driver configuration
    • 🔧 #74 AtataContext global configuration
    • #76 Add Clear method to AtataContextBuilder
    • #78 AtataContext static mode
    • #79 Add ScrollTo method to Control<TOwner>

    🔄 Changes and Enhancements

    • #57 Add LoggerName property to NLogConsumer
    • #59 Add WithProperties method to AtataContextBuilder<TContext>
    • #61 Enhance FileScreenshotConsumer
    • 🏗 #63 Enhance AtataContext driver builders
    • 🔧 #65 Test name configuration enhancement
    • 🚚 #66 Move screenshot consumer extension methods from AtataContextBuilderExtensions
    • 🚚 #68 Move log consumer extension methods from AtataContextBuilderExtensions
    • 🚚 #69 Move NUnit related extension methods from AtataContextBuilderExtensions
    • #70 Add WithLoggerName extension method for AtataContextBuilder<NLogConsumer>
    • 🚚 #71 Move driver extension methods from AtataContextBuilderExtensions
    • 🏗 #73 Rename Build method of AtataContext to Configure
    • 🏗 #75 Rename SetUp method of AtataContextBuilder to Build
    • #80 Add DriverAlias property to LogEventInfo
    • #81 Add "driver-alias" NLog event property in NLogConsumer
    • 📦 #82 Use Atata.WebDriverExtras package v0.12.0
    • 📦 #83 Use Selenium.WebDriver and Selenium.Support packages v3.5.2
    • 0️⃣ #84 Set default retry timeout to 5 seconds

    📦 Atata 0.14.0 on NuGet
    🚀 Atata 0.14.0 Released - Atata Blog

  • v0.13.0

    June 27, 2017

    🚀 Check Atata 0.13.0 Released blog post for major features.

    💥 Breaking Changes

    • 0️⃣ #50 Change default search of controls
    • #55 Change TermCase.Title and add TermCase.Capitalized

    🆕 New

    • #23 Add TraceLogAttribute
    • #26 Add SetRandom extension method for EditableField2` with nullable data type
    • 👍 #27 Add support of RandomizeIncludeAttribute to string and number EditableField2` controls
    • #29 OuterXPath functionality
    • 📇 #30 Add Metadata to ControlList2`
    • #34 Add ComponentSize property to UIComponent1`
    • #35 Add ComponentLocation property to UIComponent1`
    • #37 Add HierarchicalControl2andHierarchicalItem2 controls
    • #40 Add MulticastAttribute
    • #43 Add Resolve method to UIComponentChildrenList1`
    • #44 Add controls for hierarchical lists
    • #45 Add attribute properties to UIComponentAttributeProvider1`
    • #46 Add ContentSourceAttribute
    • #48 Bool randomization
    • 🔧 #49 Assertion exception type configuration
    • #51 Add DragAndDropTo methods to Control1`
    • #52 Behaviors for drag and drop
    • #54 Add Press method to PageObject1`

    🔄 Changes

    • #24 Make UIComponent.Scope property public
    • ⚡️ #28 Update ILogManager error logging methods
    • #32 Set "./" OuterXPath to items of UnorderedList2andOrderedList2
    • #36 Add IsVisible and Triggers properties to IUIComponent1`
    • #41 Inherit FindSettingsAttribute from MulticastAttribute
    • #47 Add indexers to ItemsControl2`
    • 🌲 #53 Change log messages for AtataContext setup

    🛠 Fixes

    • #31 Component attributes of inherited control type does not apply to sub-components of base type
    • 👻 #33 FindByCssStrategy throws exception in safely mode
    • #42 ControlType and ParentComponentType properties of ControlFindingAttribute doesn't handle non-generic types

    📦 Atata 0.13.0 on NuGet
    🚀 Atata 0.13.0 Released - Atata Blog