Atata

C#/.NET automated web testing full featured framework

Atata.WebDriverExtras 1.2.0 is Released

April 11, 2019

Atata.WebDriverExtras 1.2.0 is released with more detailed exception message generation and new XPathString class.

Atata Docs Moved to atata.io Domain

March 28, 2019

Atata Framework documentation site has been moved from https://atata-framework.github.io to new domain https://atata.io.

Upgrading Atata to 1.0.0

October 21, 2018

How to upgrade Atata to 1.0.0 by resolving breaking changes.

WebDriver

Based on Selenium WebDriver and preserves all its features.

Page Object Model

Provides unique fluent page object pattern that is easy to implement and maintain.

Components

Contains a rich set of ready to use components for inputs, tables, lists, etc.

Integration

Works on any .NET test engine (e.g. NUnit, xUnit, SpecFlow) as well as on CI systems like Jenkins, Azure DevOps or TeamCity.

Triggers

A bunch of triggers to bind with different events to extend component behavior.

Verification

A set of fluent assertion methods and triggers for the component and data verification.

Configurable

Defines the default component search strategies as well as additional settings. Atata.Configuration.Json provides flexible JSON configurations.

Reporting/Logging

Built-in customizable logging and screenshot capturing functionality.

Extensible

Atata.Bootstrap and Atata.KendoUI packages have a set of ready to use components. Framework supports any kind of extending.

Simple example for Sign In page.

Define Page Object Class

using Atata;

namespace SampleApp.UITests
{
    using _ = SignInPage;

    [Url("signin")] // Relative URL of the page.
    [VerifyH1] // Verifies that H1 header text equals "Sign In".
    public class SignInPage : Page<_>
    {
        public TextInput<_> Email { get; private set; }

        public PasswordInput<_> Password { get; private set; }

        public Button<_> SignIn { get; private set; }
    }
}
Sign in page

Implement Test

[Test]
public void SignIn()
{
    Go.To<SignInPage>().
        Email.Set("admin@mail.com").
        Password.Set("abc123").
        SignIn.Click();
}

[SetUp]
public void SetUp()
{
    AtataContext.Configure().
        UseChrome().
        UseBaseUrl("https://demo.atata.io/").
        Build();
}
Sign in page with filled data
Get Started

Or check out Tutorials for guides and Examples for how to.