Skip to content

Commit bccd85c

Browse files
committed
Rename sln & update readme
1 parent e6df7ff commit bccd85c

2 files changed

Lines changed: 25 additions & 11 deletions

File tree

README.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,31 @@
1-
# Web driver extras
2-
Web driver extras is a set of support and utility types for **Selenium Web Driver**, a suite for browser automation, particularly useful for the testing of web applications.
1+
# WebDriver extensions
32

4-
This library is particularly aimed at providing an abstract way of [creating and configuring] `IWebDriver` instances, in such a way that test logic does not need to know anything about which web browser is in use, or how it has been configured.
3+
This small library provides some utility functionality for **[Selenium WebDriver]**.
4+
These features may be used individually or together.
55

6-
It also provides [an attempted solution] to deal with some of the quirks and differences in behaviour between web browsers.
6+
* [A universal WebDriver factory]
7+
* [A mechanism for dealing with browser-specific quirks]
8+
* [Types for convenient identification of browsers & versions]
79

8-
Finally it offers an intgeration with a popular cloud-based provider of web drivers (free for open source projects): [Sauce Labs].
10+
The types in this library integrate with some commonly-used .NET technologies:
911

10-
[creating and configuring]: https://github.com/csf-dev/WebDriverExtras/wiki/WebDriverFactories
11-
[an attempted solution]: https://github.com/csf-dev/WebDriverExtras/wiki/WebBrowserFlags
12-
[Sauce Labs]: https://github.com/csf-dev/WebDriverExtras/wiki/SauceLabsIntegration
12+
* [Dependency injection]
13+
* [The Options Pattern]
14+
* [.NET Configuration]
1315

14-
## History
15-
Web driver extras was originally part of another project - for the **[Screenplay testing pattern]** - but it has since been forked away into a project of its own. Screenplay still makes use of this library as a NuGet package.
16+
[Selenium WebDriver]: https://www.selenium.dev/documentation/webdriver/
17+
[A universal WebDriver factory]: https://csf-dev.github.io/CSF.Extensions.WebDriver/docs/index.html
18+
[A mechanism for dealing with browser-specific quirks]: https://csf-dev.github.io/CSF.Extensions.WebDriver/docs/Quirks.html
19+
[Types for convenient identification of browsers & versions]: https://csf-dev.github.io/CSF.Extensions.WebDriver/docs/DriverIdentification.html
20+
[Dependency injection]: https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection
21+
[The Options Pattern]: https://learn.microsoft.com/en-us/dotnet/core/extensions/options
22+
[.NET Configuration]: https://learn.microsoft.com/en-us/dotnet/core/extensions/configuration
1623

17-
[Screenplay testing pattern]: https://github.com/csf-dev/CSF.Screenplay
24+
## Usages
25+
26+
This functionality may be especially useful to those who are interested in using Selenium with a wide range of browsers and/or WebDriver implementations.
27+
28+
* The universal factory allows you to keep your target WebDriver/browser configurations out of code.
29+
* The quirks mechanism allows for fine-grained and tightly-targeted application of workarounds for differences in behaviour or limitations which are specific to a small number of browser/driver/version ranges.
30+
* The use of configuration data here allows for quick configuration-based override of which browsers/versions are affected by which quirks. This is useful as browser versions are released at high velocity and _things change_.
31+
* The browser identification mechanism is primarily a dependency of the quirks mechanism but may be used standalone.

0 commit comments

Comments
 (0)