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
<PackageReference Include="Trumpf.Coparoo.Playwright" Version="2.1.0" />
<PackageVersion Include="Trumpf.Coparoo.Playwright" Version="2.1.0" />
<PackageReference Include="Trumpf.Coparoo.Playwright" />
paket add Trumpf.Coparoo.Playwright --version 2.1.0
#r "nuget: Trumpf.Coparoo.Playwright, 2.1.0"
#:package Trumpf.Coparoo.Playwright@2.1.0
#addin nuget:?package=Trumpf.Coparoo.Playwright&version=2.1.0
#tool nuget:?package=Trumpf.Coparoo.Playwright&version=2.1.0
Trumpf.Coparoo.Playwright Library for .NET
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):
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:
- Core: Trumpf.Coparoo.Playwright
- Controls library: Trumpf.Coparoo.Playwright.Controls
- Extension helpers: Trumpf.Coparoo.Playwright.Extensions
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 | 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. 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. |
-
.NETStandard 2.0
- Microsoft.Playwright (>= 1.54.0)
- System.Linq.Async (>= 6.0.1)
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 |