From be75291b1e591199bf361fb11effa56253149154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C5=BEe=20Vodovnik?= Date: Wed, 28 Jul 2021 14:55:15 +0200 Subject: [PATCH] docs(dotnet): POM snippets (#7878) --- docs/src/pom.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/src/pom.md b/docs/src/pom.md index 575ab16fa4..d4410434d4 100644 --- a/docs/src/pom.md +++ b/docs/src/pom.md @@ -94,6 +94,35 @@ class SearchPage: self.page.press('[aria-label="Enter your search term"]', "Enter") ``` +```csharp +using System.Threading.Tasks; +using Microsoft.Playwright; + +namespace BigEcommerceApp.Tests.Models +{ + public class SearchPage + { + private readonly IPage _page; + + public SearchPage(IPage page) + { + _page = page; + } + + public async Task Goto() + { + await _page.GotoAsync("https://bing.com"); + } + + public async Task Search(string text) + { + await _page.FillAsync("[aria-label='Enter your search term']", text); + await _page.PressAsync("[aria-label='Enter your search term']", "Enter"); + } + } +} +``` + Page objects can then be used inside a test. ```js @@ -141,5 +170,14 @@ search_page.navigate() search_page.search("search query") ``` +```csharp +using BigEcommerceApp.Tests.Models; + +// in the test +var page = new SearchPage(await browser.NewPageAsync()); +await page.Goto(); +await page.Search("search query"); +``` + ### API reference - [Page] \ No newline at end of file