<commit_before># [Atata](https://atata-framework.github.io/)

[![NuGet](http://img.shields.io/nuget/v/Atata.svg?style=flat)](https://www.nuget.org/packages/Atata/)
[![Gitter](https://badges.gitter.im/atata-framework/atata.svg)](https://gitter.im/atata-framework/atata)

C#/.NET test automation full featured framework based on Selenium WebDriver. It uses fluent page object pattern.

## Features

* **WebDriver**. Based on [Selenium WebDriver](https://github.com/SeleniumHQ/selenium) and preserves all its features.
* **Page Object**. Provides unique fluent page object pattern that is easy to implement and maintain.
* **Components**. Supports a rich set of HTML [components](https://atata-framework.github.io/components/).
* **Integration**. Works on any .NET test engine (e.g. NUnit, xUnit) as well as on CI systems like TeamCity or TFS.
* **Triggers**. A bunch of [triggers](https://atata-framework.github.io/triggers/) to bind with different component events.
* **Verification**. A set of methods and triggers for the component and data verification.
* **Configurable**. Defines the default component search strategies as well as additional settings.
* **Logging**. Built-in customizable logging and screenshot capturing functionality.
* **Extensible**. [Atata.Bootstrap](https://github.com/atata-framework/atata-bootstrap) and [Atata.KendoUI](https://github.com/atata-framework/atata-kendoui) packages have a set of ready to use components.

## Usage

Simple sign-in page object:

```C#
using Atata;
using _ = SampleApp.AutoTests.SignInPage;

namespace SampleApp.AutoTests
{
    [Url("signin")]
    [VerifyTitle]
    [VerifyH1]
    public class SignInPage : Page<_>
    {
        public TextInput<_> Email { get; private set; }

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

        public Button<_> SignIn { get; private set; }
    }
}
```

Usage in the test method:

```C#
[Test]
public void SignIn()
{
    Go.To<SignInPage>().
        Email.Set("<EMAIL>").
        Password.Set("<PASSWORD>").
        SignIn.Click();
}
```

## Demo

[The Demo Project](https://github.com/atata-framework/atata-sample-app-tests) tests application demonstrates different testing approaches and features of the Atata Framework. It covers main Atata features: page navigation, data input and verification, interaction with pop-ups and tables, logging, screenshot capture, etc.

Sample test:

```C#
[Test]
public void User_Create()
{
    string firstName, lastName, email;
    Office office = Office.NewYork;
    Gender gender = Gender.Male;

    Login().
        New().
            ModalTitle.Should.Equal("New User").
            General.FirstName.SetRandom(out firstName).
            General.LastName.SetRandom(out lastName).
            General.Email.SetRandom(out email).
            General.Office.Set(office).
            General.Gender.Set(gender).
            Save().
        Users.Rows[x => x.FirstName == firstName && x.LastName == lastName && x.Email == email && x.Office == office].View().
            Header.Should.Equal($"{firstName} {lastName}").
            Email.Should.Equal(email).
            Office.Should.Equal(office).
            Gender.Should.Equal(gender).
            Birthday.Should.Not.Exist().
            Notes.Should.Not.Exist();
}
```

## Documentation

Find out more on [Atata Docs](https://atata-framework.github.io/) and on [Getting Started](https://atata-framework.github.io/getting-started/) page in particular.

## Articles

You can also check the following articles:

* [Atata - New Test Automation Framework](https://www.codeproject.com/Articles/1158365/Atata-New-Test-Automation-Framework)
* [Test Automation Using Atata: Verification of Web Pages](https://www.codeproject.com/Articles/1173435/Test-Automation-Using-Atata-Verification-of-Pages)
* [Test Automation Using Atata: Verification of Validation Messages](https://www.codeproject.com/Articles/1177317/Test-Automation-Using-Atata-Validation-Messages)

## License

Atata is an open source software, licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.<commit_msg>Add Contact section to README.md<commit_after># [Atata](https://atata-framework.github.io/)

[![NuGet](http://img.shields.io/nuget/v/Atata.svg?style=flat)](https://www.nuget.org/packages/Atata/)
[![Gitter](https://badges.gitter.im/atata-framework/atata.svg)](https://gitter.im/atata-framework/atata)

C#/.NET test automation full featured framework based on Selenium WebDriver. It uses fluent page object pattern.

## Features

* **WebDriver**. Based on [Selenium WebDriver](https://github.com/SeleniumHQ/selenium) and preserves all its features.
* **Page Object**. Provides unique fluent page object pattern that is easy to implement and maintain.
* **Components**. Supports a rich set of HTML [components](https://atata-framework.github.io/components/).
* **Integration**. Works on any .NET test engine (e.g. NUnit, xUnit) as well as on CI systems like TeamCity or TFS.
* **Triggers**. A bunch of [triggers](https://atata-framework.github.io/triggers/) to bind with different component events.
* **Verification**. A set of methods and triggers for the component and data verification.
* **Configurable**. Defines the default component search strategies as well as additional settings.
* **Logging**. Built-in customizable logging and screenshot capturing functionality.
* **Extensible**. [Atata.Bootstrap](https://github.com/atata-framework/atata-bootstrap) and [Atata.KendoUI](https://github.com/atata-framework/atata-kendoui) packages have a set of ready to use components.

## Usage

Simple sign-in page object:

```C#
using Atata;
using _ = SampleApp.AutoTests.SignInPage;

namespace SampleApp.AutoTests
{
    [Url("signin")]
    [VerifyTitle]
    [VerifyH1]
    public class SignInPage : Page<_>
    {
        public TextInput<_> Email { get; private set; }

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

        public Button<_> SignIn { get; private set; }
    }
}
```

Usage in the test method:

```C#
[Test]
public void SignIn()
{
    Go.To<SignInPage>().
        Email.Set("<EMAIL>").
        Password.Set("<PASSWORD>").
        SignIn.Click();
}
```

## Demo

[The Demo Project](https://github.com/atata-framework/atata-sample-app-tests) tests application demonstrates different testing approaches and features of the Atata Framework. It covers main Atata features: page navigation, data input and verification, interaction with pop-ups and tables, logging, screenshot capture, etc.

Sample test:

```C#
[Test]
public void User_Create()
{
    string firstName, lastName, email;
    Office office = Office.NewYork;
    Gender gender = Gender.Male;

    Login().
        New().
            ModalTitle.Should.Equal("New User").
            General.FirstName.SetRandom(out firstName).
            General.LastName.SetRandom(out lastName).
            General.Email.SetRandom(out email).
            General.Office.Set(office).
            General.Gender.Set(gender).
            Save().
        Users.Rows[x => x.FirstName == firstName && x.LastName == lastName && x.Email == email && x.Office == office].View().
            Header.Should.Equal($"{firstName} {lastName}").
            Email.Should.Equal(email).
            Office.Should.Equal(office).
            Gender.Should.Equal(gender).
            Birthday.Should.Not.Exist().
            Notes.Should.Not.Exist();
}
```

## Documentation

Find out more on [Atata Docs](https://atata-framework.github.io/) and on [Getting Started](https://atata-framework.github.io/getting-started/) page in particular.

## Articles

You can also check the following articles:

* [Atata - New Test Automation Framework](https://www.codeproject.com/Articles/1158365/Atata-New-Test-Automation-Framework)
* [Test Automation Using Atata: Verification of Web Pages](https://www.codeproject.com/Articles/1173435/Test-Automation-Using-Atata-Verification-of-Pages)
* [Test Automation Using Atata: Verification of Validation Messages](https://www.codeproject.com/Articles/1177317/Test-Automation-Using-Atata-Validation-Messages)

## Contact

Feel free to ask any questions regarding Atata framework. Any feedback, issues and feature requests are welcome.

* Atata Issues: [https://github.com/atata-framework/atata/issues](https://github.com/atata-framework/atata/issues)
* Atata Gitter: [https://gitter.im/atata-framework/atata](https://gitter.im/atata-framework/atata)

### Author

* Email: <EMAIL>
* Skype: e.shunevich
* LinkedIn: https://www.linkedin.com/in/yevgeniy-shunevych


## License

Atata is an open source software, licensed under the Apache License 2.0. See [LICENSE](LICENSE) for details.
{'fraction_non_alphanumeric': 0.1314395220381017, 'fraction_numerical': 0.005410889414947582, 'mean_word_length': 3.281853281853282, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 20, 'https://': 35, 'lorem ipsum': 0, 'www.': 9, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3763780', 'n_tokens_mistral': 2790, 'n_tokens_neox': 2600, 'n_words': 682}