PlaywrightContrib.FluentAssertions
2.0.0
This package is based on the IElementHandle interface.
The use of ElementHandle is discouraged, use Locator objects and web-first assertions instead.
You can use the vanilla API to achieve the same thing without using this package:
https://playwright.dev/dotnet/docs/test-assertions
dotnet add package PlaywrightContrib.FluentAssertions --version 2.0.0
NuGet\Install-Package PlaywrightContrib.FluentAssertions -Version 2.0.0
<PackageReference Include="PlaywrightContrib.FluentAssertions" Version="2.0.0" />
paket add PlaywrightContrib.FluentAssertions --version 2.0.0
#r "nuget: PlaywrightContrib.FluentAssertions, 2.0.0"
// Install PlaywrightContrib.FluentAssertions as a Cake Addin #addin nuget:?package=PlaywrightContrib.FluentAssertions&version=2.0.0 // Install PlaywrightContrib.FluentAssertions as a Cake Tool #tool nuget:?package=PlaywrightContrib.FluentAssertions&version=2.0.0
PlaywrightContrib.FluentAssertions 🎭🧪
PlaywrightContrib.FluentAssertions
is a library for writing tests with FluentAssertions
against the Playwright API.
using Microsoft.Playwright;
using PlaywrightContrib.FluentAssertions;
var playwright = await Playwright.CreateAsync();
var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GotoAsync("https://github.com/microsoft/playwright-dotnet");
var link = await page.QuerySelectorAsync("#repository-container-header strong a");
await link.Should().HaveContentAsync("playwright-dotnet");
await link.Should().HaveAttributeValueAsync("href", "/microsoft/playwright-dotnet");
await page.Should().HaveContentAsync("Playwright for .NET is the official language port of Playwright");
await page.ClickAsync("#actions-tab");
await page.WaitForNavigationAsync();
var latestStatus = await page.QuerySelectorAsync("#partial-actions-workflow-runs .Box-row div[title]");
latestStatus.Should().Exist();
await latestStatus.Should().HaveAttributeValueAsync("title", "This workflow run completed successfully.");
Deprecation ⚠️
This package is legacy and is no longer maintained:
- Is is based on the
IElementHandle
interface and was first built with version1.12.1
ofMicrosoft.Playwright
- The use of
ElementHandle
is discouraged, useLocator
objects and web-first assertions instead - The Locator API was introduced in version
1.14
ofMicrosoft.Playwright
- Locator vs ElementHandle describes the difference between the old and new way to access elements
- You can use the vanilla API to achieve the same thing without using this package:
Assertions for IPage.Should()
📄
Attribute:
HaveElementAttributeAsync
HaveElementAttributeValueAsync
NotHaveElementAttributeAsync
NotHaveElementAttributeValueAsync
Content:
HaveContentAsync
HaveTitleAsync
NotHaveContentAsync
NotHaveTitleAsync
Element:
HaveElementAsync
HaveElementCountAsync
HaveElementWithContentAsync
HaveElementWithContentCountAsync
State:
HaveCheckedElementAsync
HaveDisabledElementAsync
HaveEditableElementAsync
HaveEnabledElementAsync
HaveHiddenElementAsync
HaveVisibleElementAsync
NotHaveCheckedElementAsync
NotHaveEditableElementAsync
Assertions for IElementHandle.Should()
📑
Attribute:
HaveAttributeAsync
HaveAttributeValueAsync
HaveClassAsync
HaveValueAsync
NotHaveAttributeAsync
NotHaveAttributeValueAsync
NotHaveClassAsync
NotHaveValueAsync
Content:
HaveContentAsync
NotHaveContentAsync
Element:
HaveElementAsync
HaveElementCountAsync
HaveElementWithContentAsync
HaveElementWithContentCountAsync
State:
BeCheckedAsync
BeDisabledAsync
BeEditableAsync
BeEnabledAsync
BeHiddenAsync
BeReadOnlyAsync
BeRequiredAsync
BeSelectedAsync
BeVisibleAsync
Exist
HaveFocusAsync
NotBeCheckedAsync
NotBeEditableAsync
NotBeReadOnlyAsync
NotBeRequiredAsync
NotBeSelectedAsync
NotExist
NotHaveFocusAsync
Would you like to know more? 🤔
Further documentation is available at https://github.com/hlaueriksson/playwright-dotnet-contrib
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 | 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
- FluentAssertions (>= 6.7.0)
- PlaywrightContrib.Extensions (>= 2.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.
- Drop target framework net5.0 🎯
- Bump Microsoft.Playwright to 1.22.0 ⬆
- Bump FluentAssertions to 6.7.0 ⬆