Selenium.WebDriver.SelfHealing
0.99.21-beta.1
dotnet add package Selenium.WebDriver.SelfHealing --version 0.99.21-beta.1
NuGet\Install-Package Selenium.WebDriver.SelfHealing -Version 0.99.21-beta.1
<PackageReference Include="Selenium.WebDriver.SelfHealing" Version="0.99.21-beta.1" />
paket add Selenium.WebDriver.SelfHealing --version 0.99.21-beta.1
#r "nuget: Selenium.WebDriver.SelfHealing, 0.99.21-beta.1"
// Install Selenium.WebDriver.SelfHealing as a Cake Addin #addin nuget:?package=Selenium.WebDriver.SelfHealing&version=0.99.21-beta.1&prerelease // Install Selenium.WebDriver.SelfHealing as a Cake Tool #tool nuget:?package=Selenium.WebDriver.SelfHealing&version=0.99.21-beta.1&prerelease
Selenium.WebDriver.SelfHealing
Selenium.WebDriver.SelfHealing is the first to bring Selenium self-healing capabilities natively to the .Net Platform.
Selenium.WebDriver.SelfHealing uplifts the native Selenium and makes it particularly suitable for the hardest to automate slow dynamic applications like Pega / Salesforce. Tried and tested in the toughest environments, it will bring stability to your Flaky Tests or rapidly changing UI.
Innovative self-healing algorithm, mixed with auto-wait and selector optimization will allow you to deliver your next project on time.
Getting started is easy, Selenium.WebDriver.SelfHealing does not require external network access and no servers need to be hosted.
Documentation
Selenium.WebDriver.SelfHealing is an addon to Selenium.WebDriver platform for Web Testing and Automation. Selenium.WebDriver.SelfHealing is built to enable cross-browser web automation that is ever-green, capable, reliable and suitable for the modern dynamic web.
Bring resilience to your Selenium scripts through it's ability to self-heal broken selectors on the fly.
Installation
Selenium.WebDriver.SelfHealing is distributed as a NuGet package.
Using command-line
The easiest way to get started is to run the following command.
dotnet add package Selenium.WebDriver.SelfHealing
Using Package Manager
Install-Package Selenium.WebDriver.SelfHealing
Getting Started
Once installed into the project getting started is just one line of code.
using Selenium.WebDriver.SelfHealing;
var options = new ChromeOptions();
var chromeDriver = new ChromeDriver(options);
// this creates a self-healing WebDriver
var selfHealingDriver = chromeDriver.ToSelfHealingDriver();
Capabilities
Resilient • Reduce flaky tests
Self-healing. Selenium.WebDriver.SelfHealing will repair broken selectors on the fly. Saving you time and money. Elements can change attributes or position and still be self-healed.
Auto-wait. Selenium.WebDriver.SelfHealing waits for elements to be actionable prior to performing actions. Auto-wait will search for interactable elements in preference. The combination of the Auto-wait and Self-healing eliminate the need for artificial timeouts - primary cause of flaky tests.
Selector-optimization. While your scripts are running, we analyse the chosen selector and provide optimization suggestions.
No trade-offs • No limits
Parallel test execution. Run tests in parallel and save time. Our framework was build to handle everything.
Selenium-insights. While Selenium.WebDriver.SelfHealing is active all activity is logged for review.
Self-healing Reports
Healing-report. After each WebDriver session is disposed a report will be created detailing any broken selectors.
TeamCity integration. Easily integrate your self-healing report into a build tab.
Emailable HTML Report. Reports are viewable directly from the file system and can easily be emailed from Integration scenarios.
Sample Report
Sample Logs
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 is compatible. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.5
- DotNetSeleniumExtras.WaitHelpers (>= 3.11.0)
- HtmlAgilityPack (>= 1.11.45)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- Polly.Contrib.WaitAndRetry (>= 1.1.1)
- Selenium.Support (>= 3.10.0)
- Selenium.WebDriver (>= 3.10.0)
- Serilog.Sinks.Console (>= 4.0.1)
- Serilog.Sinks.File (>= 5.0.0)
-
.NETFramework 4.6.1
- DotNetSeleniumExtras.WaitHelpers (>= 3.11.0)
- HtmlAgilityPack (>= 1.11.45)
- Microsoft.Extensions.Configuration (>= 3.1.23)
- Microsoft.Extensions.Configuration.Binder (>= 3.1.23)
- Microsoft.Extensions.Configuration.Json (>= 3.1.23)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- Polly.Contrib.WaitAndRetry (>= 1.1.1)
- Selenium.Support (>= 4.0.0)
- Selenium.WebDriver (>= 4.1.0)
- Serilog.Sinks.Console (>= 4.0.1)
- Serilog.Sinks.File (>= 5.0.0)
-
.NETFramework 4.6.2
- DotNetSeleniumExtras.WaitHelpers (>= 3.11.0)
- HtmlAgilityPack (>= 1.11.45)
- Microsoft.Extensions.Configuration (>= 3.1.23)
- Microsoft.Extensions.Configuration.Binder (>= 3.1.23)
- Microsoft.Extensions.Configuration.Json (>= 3.1.23)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- Polly.Contrib.WaitAndRetry (>= 1.1.1)
- Selenium.Support (>= 4.0.0)
- Selenium.WebDriver (>= 4.1.0)
- Serilog.Sinks.Console (>= 4.0.1)
- Serilog.Sinks.File (>= 5.0.0)
-
.NETStandard 2.0
- DotNetSeleniumExtras.WaitHelpers (>= 3.11.0)
- HtmlAgilityPack (>= 1.11.45)
- Microsoft.Extensions.Configuration (>= 3.1.23)
- Microsoft.Extensions.Configuration.Binder (>= 3.1.23)
- Microsoft.Extensions.Configuration.Json (>= 3.1.23)
- Newtonsoft.Json (>= 13.0.1)
- Polly (>= 7.2.3)
- Polly.Contrib.WaitAndRetry (>= 1.1.1)
- Selenium.Support (>= 4.0.0)
- Selenium.WebDriver (>= 4.1.0)
- Serilog.Sinks.Console (>= 4.0.1)
- Serilog.Sinks.File (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.99.21-beta.1 | 314 | 9/14/2022 |
0.99.20-beta.1 | 84 | 9/13/2022 |
0.99.18-beta.1 | 81 | 9/12/2022 |
0.99.17-beta.1 | 94 | 9/4/2022 |
0.99.16-beta.1 | 88 | 9/2/2022 |
0.99.15-beta.1 | 100 | 8/31/2022 |
0.99.14-beta.1 | 92 | 8/30/2022 |
0.99.13-beta.1 | 88 | 8/29/2022 |
0.99.12-beta.1 | 91 | 8/28/2022 |
0.99.11-beta.1 | 754 | 8/21/2022 |
0.99.10-beta.1 | 534 | 8/21/2022 |
0.99.8-beta.1 | 467 | 8/20/2022 |
0.99.7-beta.1 | 181 | 8/18/2022 |
0.99.6-beta.1 | 151 | 8/17/2022 |
0.99.4-beta.1 | 87 | 8/17/2022 |
0.99.3-beta.1 | 145 | 8/16/2022 |
0.99.2-beta.1 | 98 | 8/16/2022 |
0.99.1-beta.1 | 97 | 8/16/2022 |
0.98.8-beta.1 | 107 | 8/16/2022 |
0.98.7-beta.1 | 104 | 8/12/2022 |
0.98.6-beta.1 | 103 | 8/10/2022 |
0.98.5-beta.1 | 104 | 8/2/2022 |
0.98.4-beta.1 | 107 | 8/2/2022 |
0.98.3-beta.1 | 102 | 8/2/2022 |
0.98.2-beta.1 | 106 | 7/31/2022 |