Skip to content
A set of C#/.NET extension methods and other extra classes for Selenium WebDriver
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Increase project version number to 1.2.0 Apr 11, 2019
.gitignore
LICENSE
README.md Update README.md Apr 10, 2019
azure-pipelines.yml Update azure-pipelines.yml Mar 22, 2019

README.md

Atata.WebDriverExtras

NuGet GitHub release Build status Gitter Slack Atata docs Twitter

A set of C#/.NET extension methods and other extra classes for Selenium WebDriver. Is a part of Atata Framework.

Supports .NET Framework 4.0+ and .NET Core/Standard 2.0+.

Usage

Add Atata namespace:

using Atata;

Use extension methods for IWebDriver, IWebElement, By, etc.:

RemoteWebDriver driver = GetSomeDriver();

// Sets the retry timeout as 7 seconds. The default value of the timeout is 5 seconds.
driver.Manage().Timeouts().SetRetryTimeout(TimeSpan.FromSeconds(7));

// Get the visible element within 7 seconds. Throws NoSuchElementException if the element is not found.
IWebElement element1 = driver.Get(By.Id("some-id"));

// Get the visible element safely (without throw on failure) within 7 seconds. Returns null if the element is not found.
IWebElement element2 = driver.Get(By.XPath(".//some[xpath]").Safely());

// Get all the visible elements within 15 seconds.
ReadOnlyCollection<IWebElement> elements = driver.GetAll(By.ClassName("some-class").Within(TimeSpan.FromSeconds(15)));

// Get the hidden element safely at once (without retry).
IWebElement element3 = driver.Get(By.CssSelector(".some-css").Hidden().Safely().AtOnce());

// Get the element of any visibility unsafely at once.
IWebElement element4 = driver.Get(By.Id("another-id").OfAnyVisibility().AtOnce());

// Gets a value indicating whether the element exists at once.
bool isElementExists = driver.Exists(By.Name("some-name").Safely().AtOnce());

// Waits until the element will be missing within 15 seconds; else throws NotMissingElementException.
driver.Missing(By.Name("some-name").Within(TimeSpan.FromSeconds(15)));

// Get the element using the chain of By.
IWebElement element5 = driver.Get(By.Id("root-container").
    Then(By.XPath("./div[@class='sub-container']")).
    Then(By.CssSelector("span.item")));

License

Atata is an open source software, licensed under the Apache License 2.0. See LICENSE for details.

You can’t perform that action at this time.