# Verify Headless Browsers [![Build status](https://ci.appveyor.com/api/projects/status/n4q42hbpf32jwafg?svg=true)](https://ci.appveyor.com/project/SimonCropp/verify-headlessbrowsers) [![NuGet Status](https://img.shields.io/nuget/v/Verify.Playwright.svg?label=Verify.Playwright)](https://www.nuget.org/packages/Verify.Playwright/) [![NuGet Status](https://img.shields.io/nuget/v/Verify.Puppeteer.svg?label=Verify.Puppeteer)](https://www.nuget.org/packages/Verify.Puppeteer/) [![NuGet Status](https://img.shields.io/nuget/v/Verify.Selenium.svg?label=Verify.Selenium)](https://www.nuget.org/packages/Verify.Selenium/) Extends [Verify](https://github.com/VerifyTests/Verify) to allow verification of Web UIs using headless browsers. ## Playwright Usage Verification of Web UIs via [Playwright](https://github.com/microsoft/playwright-sharp). ### NuGet package https://nuget.org/packages/Verify.Playwright/ ### Enable Enable VerifyPlaywright once at assembly load time: ```cs VerifyPlaywright.Enable(installPlaywright: true); ``` snippet source | anchor ### Instantiate browser ```cs // wait for target server to start await SocketWaiter.Wait(port: 5000); playwright = await Playwright.CreateAsync(); browser = await playwright.Chromium.LaunchAsync(); ``` snippet source | anchor ### Page test The current page state can be verified as follows: ```cs var page = await browser.NewPageAsync(); await page.GotoAsync("http://localhost:5000"); await Verify(page); ``` snippet source | anchor With the state of the element being rendered as a verified files: ```html
One hears it stated that a factor within the logical radical priority embodies the key principles behind the best practice marginalised certification project. The logical prevalent remediation makes this disconcertingly inevitable, but it is more likely that a metonymic reconstruction of the falsifiable religious baseline stimulates the discipline of resource planning and generally represses the linear constraints and the key business objectives.
Learn moreOne hears it stated that a factor within the logical radical priority embodies the key principles behind the best practice marginalised certification project. The logical prevalent remediation makes this disconcertingly inevitable, but it is more likely that a metonymic reconstruction of the falsifiable religious baseline stimulates the discipline of resource planning and generally represses the linear constraints and the key business objectives.
Learn moreOne hears it stated that a factor within the logical radical priority embodies the key principles behind the best practice marginalised certification project. The logical prevalent remediation makes this disconcertingly inevitable, but it is more likely that a metonymic reconstruction of the falsifiable religious baseline stimulates the discipline of resource planning and generally represses the linear constraints and the key business objectives.
Learn more