In solidarity, please consider financially support Ukraine (UNITED24, "Come Back Alive" fund) or check out other ways to support Ukraine.
C#/.NET web test automation full-featured framework
Atata 3.4.0 is released with an upgrade of Selenium.WebDriver to v4.28.0.
Atata.WebDriverSetup 3.0.0 is released with a new more reliable Edge version/driver resolution.
Atata 3.3.0 is released with an upgrade of Selenium.WebDriver to v4.26.1.
Based on Selenium WebDriver and preserves all its features.
Provides a unique fluent page object pattern, which is easy to implement and maintain.
Contains a rich set of ready-to-use components for inputs, tables, lists, etc.
Works on any .NET test engine (e.g. NUnit, xUnit, SpecFlow) as well as on CI systems like Jenkins, GitHub Actions, or TeamCity.
A bunch of triggers to bind with different events to extend component behavior.
A set of fluent assertion methods and triggers for a component and data verification.
Defines the default component search strategies as well as additional settings. Atata.Configuration.Json provides flexible JSON configurations.
Built-in customizable logging; screenshots and snapshots capturing functionality.
Atata.HtmlValidation adds HTML page validation. Atata.Bootstrap and Atata.KendoUI provide extra components.
using Atata;
namespace SampleApp.UITests;
using _ = SignInPage;
[Url("signin")] // Relative URL of the page.
public class SignInPage : Page<_>
{
[FindById] // Finds text input by "email" id.
public TextInput<_> Email { get; private set; }
[FindById] // Finds password input by "password" id.
public PasswordInput<_> Password { get; private set; }
[FindByContent] // Finds button by "Sign In" text content.
public Button<_> SignIn { get; private set; }
}
[Test]
public void SignIn() =>
Go.To<SignInPage>()
.Email.Type("admin@mail.com")
.Password.Type("abc123")
.SignIn.Click();
[SetUp]
public void SetUp() =>
AtataContext.Configure()
.UseChrome()
.UseBaseUrl("https://demo.atata.io/")
.Build();
[TearDown]
public void TearDown() =>
AtataContext.Current?.Dispose();