Trumpf.Coparoo.Playwright 2.1.0

dotnet add package Trumpf.Coparoo.Playwright --version 2.1.0
                    
NuGet\Install-Package Trumpf.Coparoo.Playwright -Version 2.1.0
                    
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="Trumpf.Coparoo.Playwright" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Trumpf.Coparoo.Playwright" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Trumpf.Coparoo.Playwright" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Trumpf.Coparoo.Playwright --version 2.1.0
                    
#r "nuget: Trumpf.Coparoo.Playwright, 2.1.0"
                    
#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.
#:package Trumpf.Coparoo.Playwright@2.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Trumpf.Coparoo.Playwright&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Trumpf.Coparoo.Playwright&version=2.1.0
                    
Install as a Cake Tool

Trumpf.Coparoo.Playwright Library for .NET

logo640

Description

Trumpf.Coparoo.Playwright is a .NET library for C# that helps you write fast, maintainable, robust and fluent Playwright-driven web tests based on the control/page/root-object (Coparoo) pattern.

Quick Start Example

An animated walkthrough of a minimal multi-page setup (dynamic relationships, interface-based navigation, checkbox + button interactions):

Coparoo demo animation

For a detailed walkthrough of this demo, including the complete source code and step-by-step explanations, see Demo README.

Here's the basic pattern illustrated in the demo above - notice how naturally the test reads:

var tab = new DemoTab();                                   // create the browser tab
await tab.Open();                                          // open the application

await tab.On<ISettings>().EnableNotifications.Check();     // interact with a checkbox
await tab.On<ISettings>().EnableAutoSave.Check();          // check another option

tab.Goto<IPreferences>();                                  // navigate to Preferences page
await tab.On<IPreferences>().SavePreferences.ClickAsync(); // click a button
await tab.On<IPreferences>().ExportSettings.ClickAsync();  // click another button

await tab.Close();                                         // cleanup

The library ships with built-in control wrappers for common HTML elements, making it easy to interact with various UI components. These include Checkbox, Button, TextBox, DropDown, Table, RadioButton, and many more. In the example above, checkboxes are used for the notification and auto-save settings, demonstrating how these controls provide clean, type-safe APIs for interaction without dealing with raw locators or CSS selectors.

NuGet Package Information

To make it easier for you to develop with the Trumpf Coparoo Web library we release it as NuGet packages:

Installation examples (Package Manager Console): Install-Package Trumpf.Coparoo.Playwright Install-Package Trumpf.Coparoo.Playwright.Controls Install-Package Trumpf.Coparoo.Playwright.Extensions

Getting Started

If you want to learn more about the control/page/root-object pattern, the idea behind this framework, consider reading the design pattern introduction. It illustrates how the framework can help you at writing maintainable and fast-running user interface tests.

If you can't wait getting started and want see some code, have a look at this code example.

For a richer, multi-page sample illustrating dynamic page object relationships, team decoupling, and interface-based testing, explore the dedicated demo: Full Demo README.

Finally, if things are set up and you want to work on user interface tests in a collaborative setup consisting of many possibly independent teams, or write test cases even before the user interfaces ready to execute (say, directly after the UX team is done) consider reading this tutorial. The demo project shows these principles in practice (dynamic ChildOf registration + interface isolation). See: Demo README.

Contributors

Main development by Alexander Kaiser.

Ideas and contributions by many more including

  • Gregor Kriwet / Accenture
  • Daniel Knorreck, Gerald Waldherr / Additive Manufacturing, TRUMPF Laser- und Systemtechnik GmbH, Ditzingen
  • Jochen Lange, Matthias Wetzel, Markus Ament, Bernd Gschwind, Bernd Theissler, Andreas Alavi, Sebastian Mayer, Daniel Boeck / TRUMPF Werkzeugmaschinen GmbH + Co. KG, Ditzingen
  • Igor Mikhalev / Trumpf Laser Marking Systems AG, Schweiz
  • Thanikaivel Natarajan / India Metamation Software P. Ltd., India
  • Nol Zefaj, Nils Engelbach, Phi Dang, Mattanja Kern, Felix Eisele / AXOOM GmbH, Karlsruhe
  • Manuel Pfemeter / AIT – Applied Information Technologies GmbH & Co. KG, Stuttgart
  • Marie Jeutter / Hochschule Karlsruhe

License

Copyright (c) TRUMPF Werkzeugmaschinen GmbH + Co. KG. All rights reserved. 2016 - 2025.

Licensed under the Apache License Version 2.0 License.

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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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 net461 was computed.  net462 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Trumpf.Coparoo.Playwright:

Package Downloads
Trumpf.Coparoo.Playwright.Controls

Trumpf.Coparoo.Playwright.Controls provides a comprehensive set of pre-built control objects for web testing with Playwright. This library includes standard HTML controls (Button, TextInput, Checkbox, etc.), complex controls (Select, Table), and their corresponding interfaces following the Coparoo pattern.

Trumpf.Coparoo.Playwright.Extensions

Trumpf.Coparoo.Playwright.Extensions contains extension methods that enhance the core Trumpf.Coparoo.Playwright API with convenience helpers for UI, control, and tab objects (e.g. waiting, visibility, attribute access, interactions, Playwright locator shortcuts).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 575 10/27/2025
2.0.0 234 10/24/2025
2.0.0-beta12 217 10/23/2025
2.0.0-beta11 205 10/23/2025
2.0.0-beta10 175 10/23/2025
1.3.1 727 7/9/2025
1.3.0 228 5/5/2025
1.2.0 187 4/30/2025
1.1.0 263 3/6/2025
1.0.0 161 2/27/2025