StageZero 0.3.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package StageZero --version 0.3.3                
NuGet\Install-Package StageZero -Version 0.3.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StageZero" Version="0.3.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add StageZero --version 0.3.3                
#r "nuget: StageZero, 0.3.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install StageZero as a Cake Addin
#addin nuget:?package=StageZero&version=0.3.3

// Install StageZero as a Cake Tool
#tool nuget:?package=StageZero&version=0.3.3                

StageZero

Build CodeQL

Please note

This project is a work-in-progress, some features may be missing and you may experience some bugs. If you do experience any issues, please raise them here.

What is StageZero?

StageZero is an automated UI testing library for the web that allows you to use whatever underlying WebDriver you wish (e.g. Selenium, or Playwright) to steer the browser.

Why?

StageZero puts flexibility and developer experience first. Want to change to a different UI testing framework (e.g. Selenium → Playwright)? You can with next to no refactoring required in your codebase. The less time you have to think about steering the browser, the more time you can invest in your tests. StageZero makes it easy to get started with next to no initial setup required.

Usage

Registering a DriverBuilder

Before writing any tests, first you have to register a IDriverBuilder instance globally (this only has to be done once!). For example, if you're wanting to use our Selenium implementation with NUnit you can do:

[SetUpFixture]
public class GlobalSetup
{
    [OneTimeSetUp]
    public class BeforeEverything()
    {
        DriverBuilder.Register<WebDriverBuilder>();
    }
}

Boom. That's it, you can start writing your tests!

Writing a test

StageZero handles all of the underlying logic required to create, navigate, interact with elements, and terminate drivers. All you have to do is write your test, no more managing frameworks! Following on from the example provided above, you can write a test for the web like:

public class Test
{
    private IDriverWeb _driver;

    [SetUp]
    public void BeforeEach()
    {
        _driver = DriverBuilder.Create(new WebDriverOptions());
    }

    [Test]
    public Task NavigateToGoogle()
    {
        await _driver.Navigate().ToUrl("https://google.com");
    }

    [TearDown]
    public Task AfterEach()
    {
        await _driver.Terminate();
    }
}

If you ever want to change to a different underlying driver (e.g. Playwright), all you have to do is swap out the registered builder for your desired UI testing frameworks implementation. All of your existing test logic 110% will work with the updated builder.

Product 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 netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on StageZero:

Package Downloads
StageZero.Selenium

The StageZero Selenium implementation.

StageZero.Playwright

The StageZero Playwright implementation.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.5.106 120 11/24/2024
0.5.105 120 11/23/2024
0.5.104 120 11/17/2024
0.5.103 127 11/7/2024
0.5.102 122 11/7/2024
0.5.101 130 11/4/2024
0.5.100 137 10/24/2024
0.5.99 111 10/21/2024
0.5.98 126 10/21/2024
0.5.97 145 10/13/2024
0.5.96 126 10/13/2024
0.5.95 130 10/13/2024
0.5.94 132 10/9/2024
0.5.93 141 10/9/2024
0.5.92 135 10/5/2024
0.5.91 122 9/24/2024
0.5.90 146 9/24/2024
0.5.89 128 9/24/2024
0.5.88 134 9/24/2024
0.5.87 131 9/24/2024
0.5.86 132 9/24/2024
0.5.85 137 9/24/2024
0.5.84 150 9/18/2024
0.5.83 152 9/2/2024
0.5.82 149 9/2/2024
0.5.81 156 8/26/2024
0.5.80 172 8/26/2024
0.5.79 152 8/26/2024
0.5.78 171 8/22/2024
0.5.77 197 8/21/2024
0.5.76 173 8/19/2024
0.5.75 174 8/15/2024
0.5.74 165 8/12/2024
0.5.73 88 8/5/2024
0.5.72 101 8/3/2024
0.5.71 104 8/2/2024
0.5.70 123 7/23/2024
0.5.69 124 7/23/2024
0.5.68 144 7/16/2024
0.5.67 146 7/16/2024
0.5.66 161 7/8/2024
0.5.65 163 7/8/2024
0.5.64 153 7/2/2024
0.5.63 158 6/25/2024
0.5.62 172 6/24/2024
0.5.61 188 6/18/2024
0.5.60 145 6/11/2024
0.5.59 144 6/11/2024
0.5.58 152 6/3/2024
0.5.57 170 5/27/2024
0.5.56 157 5/27/2024
0.5.55 135 5/20/2024
0.5.54 147 5/20/2024
0.5.53 123 5/20/2024
0.5.52 158 5/16/2024
0.5.51 164 5/11/2024
0.5.50 155 5/10/2024
0.5.49 200 5/6/2024
0.5.48 187 5/6/2024
0.5.47 204 5/4/2024
0.5.46 202 5/4/2024
0.5.45 197 5/3/2024
0.5.44 175 5/3/2024
0.5.43 186 5/3/2024
0.5.42 182 4/27/2024
0.5.41 193 4/20/2024
0.5.40 204 4/20/2024
0.5.39 180 4/6/2024
0.5.38 214 4/5/2024
0.5.37 178 4/5/2024
0.5.36 185 3/29/2024
0.5.35 213 3/28/2024
0.5.34 188 3/28/2024
0.5.33 200 3/24/2024
0.5.32 204 3/23/2024
0.5.31 183 3/23/2024
0.5.30 195 3/23/2024
0.5.29 205 3/23/2024
0.5.28 199 3/17/2024
0.5.27 182 3/8/2024
0.5.26 187 3/4/2024
0.5.25 208 3/3/2024
0.5.24 183 2/26/2024
0.5.23 183 2/26/2024
0.5.22 186 2/23/2024
0.5.21 178 2/23/2024
0.5.20 183 2/17/2024
0.5.19 180 2/8/2024
0.5.18 153 1/27/2024
0.5.17 158 1/27/2024
0.5.16 174 1/27/2024
0.5.15 154 1/27/2024
0.5.14 264 1/1/2024
0.5.13 233 12/9/2023
0.5.12 230 12/9/2023
0.5.11 259 12/1/2023
0.5.10 207 12/1/2023
0.5.9 240 11/17/2023
0.5.8 200 11/15/2023
0.5.7 195 11/10/2023
0.5.6 210 11/10/2023
0.5.5 208 11/10/2023
0.5.4 192 11/3/2023
0.5.0 207 10/29/2023
0.4.0 210 10/28/2023
0.3.10 190 10/23/2023
0.3.9 187 10/20/2023
0.3.8 174 10/16/2023
0.3.7 191 10/16/2023
0.3.6 219 10/15/2023
0.3.5 187 10/15/2023
0.3.4 204 10/14/2023
0.3.3 204 10/14/2023
0.3.2 182 10/10/2023
0.3.1 186 10/8/2023
0.3.0 201 10/8/2023
0.2.0 204 10/6/2023
0.1.27 211 10/4/2023
0.1.26 207 10/4/2023
0.1.25 185 10/4/2023
0.1.24 170 9/29/2023
0.1.23 203 9/28/2023
0.1.22 186 9/28/2023
0.1.21 191 9/28/2023
0.1.20 186 9/28/2023
0.1.19 183 9/28/2023
0.1.18 169 9/28/2023
0.1.17 212 9/28/2023
0.1.16 215 9/28/2023
0.1.15 206 9/28/2023
0.1.14 192 9/28/2023
0.1.13 196 9/28/2023
0.1.12 190 9/28/2023
0.1.11 193 9/28/2023
0.1.10 195 9/28/2023
0.1.9 191 9/28/2023
0.1.8 200 9/28/2023
0.1.7 196 9/28/2023
0.1.6 184 9/28/2023
0.1.5 193 9/28/2023
0.1.4 187 9/28/2023
0.1.3 189 9/28/2023
0.1.2 193 9/28/2023
0.1.1 198 9/28/2023
0.1.0 206 9/28/2023