Best Playwright-dotnet code snippet using Microsoft.Playwright.PageQuerySelectorOptions
PageModel.cs
Source:PageModel.cs
...104 public virtual void Close(PageCloseOptions? options = null)105 {106 this.Page.ClosePage(options);107 }108 protected virtual IElementHandle? QuerySelector(string selector, PageQuerySelectorOptions? options = null)109 {110 return this.Page.QuerySelector(selector, options);111 }112 protected virtual IReadOnlyList<IElementHandle> QuerySelectorAll(string selector)113 {114 return this.Page.QuerySelectorAll(selector);115 }116 protected virtual IElementHandle GetElement(117 string selector,118 PageWaitForSelectorOptions? waitOptions = null,119 PageQuerySelectorOptions? queryOptions = null)120 {121 this.Page.WaitForSelector(selector, waitOptions);122 var element = this.Page.QuerySelector(selector, queryOptions);123 return element!;124 }125 protected virtual IReadOnlyCollection<IElementHandle> GetElements(string selector, PageWaitForSelectorOptions? waitOptions = null)126 {127 var elements = this.Page.QuerySelectorAll(selector);128 return elements;129 }130 protected virtual TBlockModel GetElementModel<TBlockModel>(string selector, PageWaitForSelectorOptions? waitOptions = null)131 where TBlockModel : class132 {133 var block = this.CreateBlockModel<TBlockModel>(selector);134 return block;135 }136 protected virtual IReadOnlyCollection<TBlockModel> GetElementModels<TBlockModel>(string selector, PageWaitForSelectorOptions? waitOptions = null)137 where TBlockModel : class138 {139 var elements = this.Page.QuerySelectorAll(selector);140 var blocks = new List<TBlockModel>();141 foreach (var element in elements)142 {143 var block = this.CreateBlockModel<TBlockModel>(element);144 blocks.Add(block);145 }146 return blocks;147 }148 protected virtual IElementHandle? GetElementOrNull(149 string selector,150 PageWaitForSelectorOptions? waitOptions = null,151 PageQuerySelectorOptions? queryOptions = null)152 {153 var element = this.Page.QuerySelector(selector, queryOptions);154 return element;155 }156 protected virtual void Click(string selector, PageClickOptions? options = null)157 {158 this.Page.Click(selector, options);159 }160 protected virtual TReturnPage Click<TReturnPage>(string selector, PageClickOptions? options = null)161 where TReturnPage : PageModel162 {163 this.Click(selector, options);164 var page = this.CreatePageModel<TReturnPage>();165 return page;166 }167 protected virtual void DblClick(string selector, PageDblClickOptions? options = null)168 {169 this.Page.DblClick(selector, options);170 }171 protected virtual void Type(string selector, string value, PageTypeOptions? options = null)172 {173 this.Page.Type(selector, value, options);174 }175 protected virtual void Check(string selector, PageCheckOptions? options = null)176 {177 this.Page.Check(selector, options);178 }179 protected virtual void Uncheck(string selector, PageUncheckOptions? options = null)180 {181 this.Page.Uncheck(selector, options);182 }183 protected virtual void SetChecked(string selector, bool checkedState, PageSetCheckedOptions? options = null)184 {185 this.Page.SetChecked(selector, checkedState, options);186 }187 protected virtual void Tap(string selector, PageTapOptions? options = null)188 {189 this.Page.Tap(selector, options);190 }191 protected virtual void DragAndDrop(string source, string target, PageDragAndDropOptions? options = null)192 {193 this.Page.DragAndDrop(source, target, options);194 }195 protected virtual void Focus(string selector, PageFocusOptions? options = null)196 {197 this.Page.Focus(selector, options);198 }199 protected virtual void Fill(string selector, string value, PageFillOptions? options = null)200 {201 this.Page.Fill(selector, value, options);202 }203 protected virtual void Hover(string selector, PageHoverOptions? options = null)204 {205 this.Page.Hover(selector, options);206 }207 protected virtual void Press(string selector, string key, PagePressOptions? options = null)208 {209 this.Page.Press(selector, key, options);210 }211 protected virtual IReadOnlyList<string> SelectOption(string selector, string values, PageSelectOptionOptions? options = null)212 {213 var result = this.Page.SelectOption(selector, values, options);214 return result;215 }216 protected virtual IReadOnlyList<string> SelectOption(string selector, IElementHandle values, PageSelectOptionOptions? options = null)217 {218 var result = this.Page.SelectOption(selector, values, options);219 return result;220 }221 protected virtual IReadOnlyList<string> SelectOption(string selector, IEnumerable<string> values, PageSelectOptionOptions? options = null)222 {223 var result = this.Page.SelectOption(selector, values, options);224 return result;225 }226 protected virtual IReadOnlyList<string> SelectOption(string selector, SelectOptionValue values, PageSelectOptionOptions? options = null)227 {228 var result = this.Page.SelectOption(selector, values, options);229 return result;230 }231 protected virtual IReadOnlyList<string> SelectOption(string selector, IEnumerable<IElementHandle> values, PageSelectOptionOptions? options = null)232 {233 var result = this.Page.SelectOption(selector, values, options);234 return result;235 }236 protected virtual IReadOnlyList<string> SelectOption(string selector, IEnumerable<SelectOptionValue> values, PageSelectOptionOptions? options = null)237 {238 var result = this.Page.SelectOption(selector, values, options);239 return result;240 }241 protected virtual void SetInputFiles(string selector, string files, PageSetInputFilesOptions? options = null)242 {243 this.Page.SetInputFiles(selector, files, options);244 }245 protected virtual void SetInputFiles(string selector, FilePayload files, PageSetInputFilesOptions? options = null)246 {247 this.Page.SetInputFiles(selector, files, options);248 }249 protected virtual void SetInputFiles(string selector, IEnumerable<string> files, PageSetInputFilesOptions? options = null)250 {251 this.Page.SetInputFiles(selector, files, options);252 }253 protected virtual void SetInputFiles(string selector, IEnumerable<FilePayload> files, PageSetInputFilesOptions? options = null)254 {255 this.Page.SetInputFiles(selector, files, options);256 }257 protected virtual void AddInitScript(string? script = null, string? scriptPath = null)258 {259 this.Page.AddInitScript(script, scriptPath);260 }261 protected virtual void AddScriptTag(PageAddScriptTagOptions? options = null)262 {263 this.Page.AddScriptTag(options);264 }265 protected virtual void AddStyleTag(PageAddStyleTagOptions? options = null)266 {267 this.Page.AddStyleTag(options);268 }269 protected virtual void BringToFront()270 {271 this.Page.BringToFront();272 }273 protected virtual string Content()274 {275 var content = this.Page.Content();276 return content;277 }278 protected virtual void DispatchEvent(string selector, string type, object? eventInit = null, PageDispatchEventOptions? options = null)279 {280 this.Page.DispatchEvent(selector, type, eventInit, options); ;281 }282 protected virtual void EmulateMedia(PageEmulateMediaOptions? options = null)283 {284 this.Page.EmulateMedia(options);285 }286 protected virtual void EvalOnSelectorAll(string selector, string expression, object? arg = null)287 {288 this.Page.EvalOnSelectorAll(selector, expression, arg);289 }290 protected virtual void EvalOnSelectorAll<T>(string selector, string expression, object? arg = null)291 {292 this.Page.EvalOnSelectorAll<T>(selector, expression, arg);293 }294 protected virtual void EvalOnSelector(string selector, string expression, object? arg = null)295 {296 this.Page.EvalOnSelector(selector, expression, arg);297 }298 protected virtual void EvalOnSelector<T>(string selector, string expression, object? arg = null, PageEvalOnSelectorOptions? options = null)299 {300 this.Page.EvalOnSelector<T>(selector, expression, arg, options);301 }302 protected virtual void Evaluate(string expression, object? arg = null)303 {304 this.Page.Evaluate(expression, arg);305 }306 protected virtual void Evaluate<T>(string expression, object? arg = null)307 {308 this.Page.Evaluate<T>(expression, arg);309 }310 protected virtual void EvaluateHandle(string expression, object? arg = null)311 {312 this.Page.EvaluateHandle(expression, arg);313 }314 protected virtual void ExposeBinding(string name, Action<BindingSource> callback)315 {316 this.Page.ExposeBinding(name, callback);317 }318 protected virtual void ExposeBinding(string name, Action callback, PageExposeBindingOptions? options = null)319 {320 this.Page.ExposeBinding(name, callback, options);321 }322 protected virtual void ExposeBinding<T>(string name, Action<BindingSource, T> callback)323 {324 this.Page.ExposeBinding<T>(name, callback);325 }326 protected virtual void ExposeBinding<TResult>(string name, Func<BindingSource, TResult> callback)327 {328 this.Page.ExposeBinding<TResult>(name, callback);329 }330 protected virtual void ExposeBinding<TResult>(string name, Func<BindingSource, IJSHandle, TResult> callback)331 {332 this.Page.ExposeBinding<TResult>(name, callback);333 }334 protected virtual void ExposeBinding<T, TResult>(string name, Func<BindingSource, T, TResult> callback)335 {336 this.Page.ExposeBinding<T, TResult>(name, callback);337 }338 protected virtual void ExposeBinding<T1, T2, TResult>(string name, Func<BindingSource, T1, T2, TResult> callback)339 {340 this.Page.ExposeBinding<T1, T2, TResult>(name, callback);341 }342 protected virtual void ExposeBinding<T1, T2, T3, TResult>(string name, Func<BindingSource, T1, T2, T3, TResult> callback)343 {344 this.Page.ExposeBinding<T1, T2, T3, TResult>(name, callback);345 }346 protected virtual void ExposeBinding<T1, T2, T3, T4, TResult>(string name, Func<BindingSource, T1, T2, T3, T4, TResult> callback)347 {348 this.Page.ExposeBinding<T1, T2, T3, T4, TResult>(name, callback);349 }350 protected virtual void ExposeFunction(string name, Action callback)351 {352 this.Page.ExposeFunction(name, callback);353 }354 protected virtual void ExposeFunction<T>(string name, Action<T> callback)355 {356 this.Page.ExposeFunction<T>(name, callback);357 }358 protected virtual void ExposeFunction<TResult>(string name, Func<TResult> callback)359 {360 this.Page.ExposeFunction<TResult>(name, callback);361 }362 protected virtual void ExposeFunction<T, TResult>(string name, Func<T, TResult> callback)363 {364 this.Page.ExposeFunction<T, TResult>(name, callback);365 }366 protected virtual void ExposeFunction<T1, T2, TResult>(string name, Func<T1, T2, TResult> callback)367 {368 this.Page.ExposeFunction<T1, T2, TResult>(name, callback);369 }370 protected virtual void ExposeFunction<T1, T2, T3, TResult>(string name, Func<T1, T2, T3, TResult> callback)371 {372 this.Page.ExposeFunction<T1, T2, T3, TResult>(name, callback);373 }374 protected virtual void ExposeFunction<T1, T2, T3, T4, TResult>(string name, Func<T1, T2, T3, T4, TResult> callback)375 {376 this.Page.ExposeFunction<T1, T2, T3, T4, TResult>(name, callback);377 }378 protected virtual string? GetAttribute(string selector, string name, PageWaitForSelectorOptions? waitOptions = null, PageGetAttributeOptions? queryOptions = null)379 {380 this.Page.WaitForSelector(selector, waitOptions);381 return this.Page.GetAttribute(selector, name, queryOptions);382 }383 protected virtual string InnerHTML(string selector, PageWaitForSelectorOptions? waitOptions = null, PageInnerHTMLOptions? queryOptions = null)384 {385 this.Page.WaitForSelector(selector, waitOptions);386 return this.Page.InnerHTML(selector, queryOptions);387 }388 protected virtual string InnerText(string selector, PageInnerTextOptions? queryOptions = null)389 {390 return this.Page.InnerText(selector, queryOptions);391 }392 protected virtual string InputValue(string selector, PageInputValueOptions? queryOptions = null)393 {394 return this.Page.InputValue(selector, queryOptions);395 }396 protected virtual bool IsChecked(string selector, PageIsCheckedOptions? queryOptions = null)397 {398 return this.Page.IsChecked(selector, queryOptions);399 }400 protected virtual bool IsDisabled(string selector, PageIsDisabledOptions? options = null)401 {402 return this.Page.IsDisabled(selector, options);403 }404 protected virtual bool IsEditable(string selector, PageIsEditableOptions? options = null)405 {406 return this.Page.IsEditable(selector, options);407 }408 protected virtual bool IsEnabled(string selector, PageIsEnabledOptions? options = null)409 {410 return this.Page.IsEnabled(selector, options);411 }412 protected virtual bool IsHidden(string selector, PageIsHiddenOptions? options = null)413 {414 return this.Page.IsHidden(selector, options);415 }416 protected virtual bool IsVisible(string selector, PageIsVisibleOptions? options = null)417 {418 return this.Page.IsVisible(selector, options);419 }420 protected virtual ILocator IsVisible(string selector)421 {422 return this.Page.Locator(selector);423 }424 protected virtual void Route(string url, Action<IRoute> handler, PageRouteOptions? options = null)425 {426 this.Page.Route(url, handler, options);427 }428 protected virtual void Route(Regex url, Action<IRoute> handler, PageRouteOptions? options = null)429 {430 this.Page.Route(url, handler, options);431 }432 protected virtual void Route(Func<string, bool> url, Action<IRoute> handler, PageRouteOptions? options = null)433 {434 this.Page.Route(url, handler, options);435 }436 protected virtual void Unroute(string url, Action<IRoute>? handler = null)437 {438 this.Page.Unroute(url, handler);439 }440 protected virtual void Unroute(Regex url, Action<IRoute>? handler = null)441 {442 this.Page.Unroute(url, handler);443 }444 protected virtual void Unroute(Func<string, bool> url, Action<IRoute>? handler = null)445 {446 this.Page.Unroute(url, handler);447 }448 protected virtual IFrame? Frame(string name)449 {450 return this.Page.Frame(name);451 }452 protected virtual IFrame? FrameByUrl(string url)453 {454 return this.Page.FrameByUrl(url);455 }456 protected virtual IFrame? FrameByUrl(Regex url)457 {458 return this.Page.FrameByUrl(url);459 }460 protected virtual IFrame? FrameyUrl(Func<string, bool> url)461 {462 return this.Page.FrameByUrl(url);463 }464 protected virtual IConsoleMessage RunAndWaitForConsoleMessage(Func<Task> action, PageRunAndWaitForConsoleMessageOptions? options = null)465 {466 return this.Page.RunAndWaitForConsoleMessage(action, options);467 }468 protected virtual IDownload RunAndWaitForDownload(Func<Task> action, PageRunAndWaitForDownloadOptions? options = null)469 {470 return this.Page.RunAndWaitForDownload(action, options);471 }472 protected virtual IFileChooser RunAndWaitForFileChooser(Func<Task> action, PageRunAndWaitForFileChooserOptions? options = null)473 {474 return this.Page.RunAndWaitForFileChooser(action, options);475 }476 protected virtual IResponse? RunAndWaitForNavigation(Func<Task> action, PageRunAndWaitForNavigationOptions? options = null)477 {478 return this.Page.RunAndWaitForNavigation(action, options);479 }480 protected virtual IPage RunAndWaitForPopup(Func<Task> action, PageRunAndWaitForPopupOptions? options = null)481 {482 return this.Page.RunAndWaitForPopup(action, options);483 }484 protected virtual IRequest RunAndWaitForRequest(Func<Task> action, string urlOrPredicate, PageRunAndWaitForRequestOptions? options = null)485 {486 return this.Page.RunAndWaitForRequest(action, urlOrPredicate, options);487 }488 protected virtual IRequest RunAndWaitForRequest(Func<Task> action, Regex urlOrPredicate, PageRunAndWaitForRequestOptions? options = null)489 {490 return this.Page.RunAndWaitForRequest(action, urlOrPredicate, options);491 }492 protected virtual IRequest RunAndWaitForRequest(Func<Task> action, Func<IRequest, bool> urlOrPredicate, PageRunAndWaitForRequestOptions? options = null)493 {494 return this.Page.RunAndWaitForRequest(action, urlOrPredicate, options);495 }496 protected virtual IRequest RunAndWaitForRequestFinished(Func<Task> action, PageRunAndWaitForRequestFinishedOptions? options = null)497 {498 return this.Page.RunAndWaitForRequestFinished(action, options);499 }500 protected virtual IResponse RunAndWaitForResponse(Func<Task> action, string urlOrPredicate, PageRunAndWaitForResponseOptions? options = null)501 {502 return this.Page.RunAndWaitForResponse(action, urlOrPredicate, options);503 }504 protected virtual IResponse RunAndWaitForResponse(Func<Task> action, Regex urlOrPredicate, PageRunAndWaitForResponseOptions? options = null)505 {506 return this.Page.RunAndWaitForResponse(action, urlOrPredicate, options);507 }508 protected virtual IWebSocket RunAndWaitForWebSocket(Func<Task> action, PageRunAndWaitForWebSocketOptions? options = null)509 {510 return this.Page.RunAndWaitForWebSocket(action, options);511 }512 protected virtual void RunAndWaitForWorker(Func<Task> action, PageRunAndWaitForWorkerOptions? options = null)513 {514 this.Page.RunAndWaitForWorker(action, options);515 }516 protected virtual void Screenshot(PageScreenshotOptions? options = null)517 {518 this.Page.Screenshot(options);519 }520 protected virtual byte[] Pdf(PagePdfOptions? options = null)521 {522 return this.Page.Pdf(options);523 }524 protected virtual void SetContent(string html, PageSetContentOptions? options = null)525 {526 this.Page.SetContent(html, options);527 }528 protected virtual void SetExtraHTTPHeaders(IEnumerable<KeyValuePair<string, string>> headers)529 {530 this.Page.SetExtraHTTPHeaders(headers);531 }532 protected virtual void SetViewportSize(int width, int height)533 {534 this.Page.SetViewportSize(width, height);535 }536 protected virtual string? TextContent(string selector, PageTextContentOptions? options = null)537 {538 return this.Page.TextContent(selector, options);539 }540 protected virtual string Title()541 {542 return this.Page.Title();543 }544 protected virtual IConsoleMessage WaitForConsoleMessage(PageWaitForConsoleMessageOptions? options = null)545 {546 return this.Page.WaitForConsoleMessage(options);547 }548 protected virtual IDownload WaitForDownload(PageWaitForDownloadOptions? options = null)549 {550 return this.Page.WaitForDownload(options);551 }552 protected virtual IFileChooser WaitForFileChooser(PageWaitForFileChooserOptions? options = null)553 {554 return this.Page.WaitForFileChooser(options);555 }556 protected virtual IJSHandle WaitForFunction(string expression, object? arg = null, PageWaitForFunctionOptions? options = null)557 {558 return this.Page.WaitForFunction(expression, arg, options);559 }560 protected virtual void WaitForLoadState(LoadState? state = null, PageWaitForLoadStateOptions? options = null)561 {562 this.Page.WaitForLoadState(state, options);563 }564 protected virtual IResponse? WaitForNavigation(PageWaitForNavigationOptions? options = null)565 {566 return this.Page.WaitForNavigation(options);567 }568 protected virtual IPage WaitForPopup(PageWaitForPopupOptions? options = null)569 {570 return this.Page.WaitForPopup(options);571 }572 protected virtual IRequest WaitForRequest(string urlOrPredicate, PageWaitForRequestOptions? options = null)573 {574 return this.Page.WaitForRequest(urlOrPredicate, options);575 }576 protected virtual IRequest WaitForRequest(Regex urlOrPredicate, PageWaitForRequestOptions? options = null)577 {578 return this.Page.WaitForRequest(urlOrPredicate, options);579 }580 protected virtual IRequest WaitForRequest(Func<IRequest, bool> urlOrPredicate, PageWaitForRequestOptions? options = null)581 {582 return this.Page.WaitForRequest(urlOrPredicate, options);583 }584 protected virtual IRequest WaitForRequestFinished(PageWaitForRequestFinishedOptions? options = null)585 {586 return this.Page.WaitForRequestFinished(options);587 }588 protected virtual IResponse WaitForResponse(string urlOrPredicate, PageWaitForResponseOptions? options = null)589 {590 return this.Page.WaitForResponse(urlOrPredicate, options);591 }592 protected virtual IResponse WaitForResponse(Regex urlOrPredicate, PageWaitForResponseOptions? options = null)593 {594 return this.Page.WaitForResponse(urlOrPredicate, options);595 }596 protected virtual IResponse WaitForResponse(Func<IResponse, bool> urlOrPredicate, PageWaitForResponseOptions? options = null)597 {598 return this.Page.WaitForResponse(urlOrPredicate, options);599 }600 protected virtual IResponse RunAndWaitForResponse(Func<Task> action, Func<IResponse, bool> urlOrPredicate, PageRunAndWaitForResponseOptions? options = null)601 {602 return this.Page.RunAndWaitForResponse(action, urlOrPredicate, options);603 }604 protected virtual IElementHandle? WaitForSelector(string selector, PageWaitForSelectorOptions? options = null)605 {606 return this.Page.WaitForSelector(selector, options);607 }608 protected virtual void WaitForTimeout(float timeout)609 {610 this.Page.WaitForTimeout(timeout);611 }612 protected virtual void WaitForURL(Regex url, PageWaitForURLOptions? options = null)613 {614 this.Page.WaitForURL(url, options);615 }616 protected virtual void WaitForURL(Func<string, bool> url, PageWaitForURLOptions? options = null)617 {618 this.Page.WaitForURL(url, options);619 }620 protected virtual IWebSocket WaitForWebSocket(PageWaitForWebSocketOptions? options = null)621 {622 return this.Page.WaitForWebSocket(options);623 }624 protected virtual IWorker WaitForWorker(PageWaitForWorkerOptions? options = null)625 {626 return this.Page.WaitForWorker(options);627 }628 protected virtual IPage? Opener()629 {630 return this.Page.Opener();631 }632 protected virtual void Pause()633 {634 this.Page.Pause();635 }636 protected string GetComputedStyle(637 string selector,638 string styleName,639 PageWaitForSelectorOptions? waitOptions = null,640 PageQuerySelectorOptions? queryOptions = null)641 {642 var element = this.GetElement(selector, waitOptions, queryOptions);643 var styleValue = this.Page.Evaluate<string>($"e => getComputedStyle(e).{styleName}", element);644 return styleValue;645 }646}...
PageAssertions.cs
Source:PageAssertions.cs
...32 }33 private static IElementHandle GetElement(IPage page,34 string selector,35 PageWaitForSelectorOptions? waitOptions = null,36 PageQuerySelectorOptions? queryOptions = null)37 {38 page.WaitForSelector(selector, waitOptions);39 var element = page.QuerySelector(selector, queryOptions)!;40 return element!;41 }42 public static IPage HaveTitle(43 this ReferenceTypeAssertion<IPage> page,44 string expected,45 string because = "no reason given")46 {47 var actual = page.Value.Title();48 if (string.Compare(actual, expected) != 0)49 {50 throw new AssertException(@$"51HaveTitle Assert Exception52Expected:53{expected}54Actual:55{actual}56Because: {because}57");58 }59 return page.Value;60 }61 public static IPage HaveNotTitle(62 this ReferenceTypeAssertion<IPage> page,63 string notExpected,64 string because = "no reason given")65 {66 var actual = page.Value.Title();67 if (string.Compare(actual, notExpected) == 0)68 {69 throw new AssertException(@$"70HaveNotTitle Assert Exception71Not expected:72{notExpected}73Actual:74{actual}75Because:76{because}77");78 }79 return page.Value;80 }81 public static IPage HaveContent(82 this ReferenceTypeAssertion<IPage> page,83 string expected,84 string because = "no reason given")85 {86 var actual = page.Value.Content();87 if (string.Compare(actual, expected) != 0)88 {89 throw new AssertException(@$"90HaveContent Assert Exception91Not expected:92{expected}93Actual:94{actual}95Because:96{because}97");98 }99 return page.Value;100 }101 public static IPage HaveNotContent(102 this ReferenceTypeAssertion<IPage> page,103 string notExpected,104 string because = "no reason given")105 {106 var actual = page.Value.Content();107 if (string.Compare(actual, notExpected) == 0)108 {109 throw new AssertException(@$"110HaveNotContent Assert Exception111Not expected:112{notExpected}113Actual:114{actual}115Because:116{because}117");118 }119 return page.Value;120 }121 public static IPage HaveCheckedElement(122 this ReferenceTypeAssertion<IPage> page,123 string selector,124 string because = "no reason given",125 PageWaitForSelectorOptions? waitOptions = null,126 PageQuerySelectorOptions? queryOptions = null)127 {128 var element = GetElement(page.Value, selector, waitOptions, queryOptions);129 var isChecked = element.IsChecked();130 if (isChecked is false)131 {132 throw new AssertException(@$"133HaveElementChecked Assert Exception134Selector: {selector}135Expected: checked136Actual: not checked137Because: {because}138");139 }140 return page.Value;141 }142 public static IPage HaveNotCheckedElement(143 this ReferenceTypeAssertion<IPage> page,144 string selector,145 string because = "no reason given",146 PageWaitForSelectorOptions? waitOptions = null,147 PageQuerySelectorOptions? queryOptions = null)148 {149 var element = GetElement(page.Value, selector, waitOptions, queryOptions);150 var isChecked = element.IsChecked();151 if (isChecked is true)152 {153 throw new AssertException(@$"154HaveNotElementChecked Assert Exception155Selector: {selector}156Expected: not checked157Actual: checked158Because: {because}159");160 }161 return page.Value;162 }163 public static IPage HaveDisabledElement(164 this ReferenceTypeAssertion<IPage> page,165 string selector,166 string because = "no reason given",167 PageWaitForSelectorOptions? waitOptions = null,168 PageQuerySelectorOptions? queryOptions = null)169 {170 var element = GetElement(page.Value, selector, waitOptions, queryOptions);171 var isDisabled = element.IsDisabled();172 if (isDisabled is false)173 {174 throw new AssertException(@$"175HaveNotElementChecked Assert Exception176Selector: {selector}177Expected: disable178Actual: not disable179Because: {because}180");181 }182 return page.Value;183 }184 public static IPage HaveNotDisabledElement(185 this ReferenceTypeAssertion<IPage> page,186 string selector,187 string because = "no reason given",188 PageWaitForSelectorOptions? waitOptions = null,189 PageQuerySelectorOptions? queryOptions = null)190 {191 var element = GetElement(page.Value, selector, waitOptions, queryOptions);192 var isDisabled = element.IsDisabled();193 if (isDisabled is true)194 {195 throw new AssertException(@$"196HaveNotElementDisabled Assert Exception197Selector: {selector}198Expected: not disable199Actual: disable200Because: {because}201");202 }203 return page.Value;204 }205 public static IPage HaveEditableElement(206 this ReferenceTypeAssertion<IPage> page,207 string selector,208 string because = "no reason given",209 PageWaitForSelectorOptions? waitOptions = null,210 PageQuerySelectorOptions? queryOptions = null)211 {212 var element = GetElement(page.Value, selector, waitOptions, queryOptions);213 var isEditable = element.IsEditable();214 if (isEditable is false)215 {216 throw new AssertException(@$"217HaveElementEditable Assert Exception218Selector: {selector}219Expected: editable220Actual: not editable221Because: {because}222");223 }224 return page.Value;225 }226 public static IPage HaveNotEditableElement(227 this ReferenceTypeAssertion<IPage> page,228 string selector,229 string because = "no reason given",230 PageWaitForSelectorOptions? waitOptions = null,231 PageQuerySelectorOptions? queryOptions = null)232 {233 var element = GetElement(page.Value, selector, waitOptions, queryOptions);234 var isEditable = element.IsEditable();235 if (isEditable is true)236 {237 throw new AssertException(@$"238HaveElementEditable Assert Exception239Selector: {selector}240Expected: not editable241Actual: editable242Because: {because}243");244 }245 return page.Value;246 }247 public static IPage HaveEnabledElement(248 this ReferenceTypeAssertion<IPage> page,249 string selector,250 string because = "no reason given",251 PageWaitForSelectorOptions? waitOptions = null,252 PageQuerySelectorOptions? queryOptions = null)253 {254 var element = GetElement(page.Value, selector, waitOptions, queryOptions);255 var isEnabled = element.IsEnabled();256 if (isEnabled is false)257 {258 throw new AssertException(@$"259HaveElementEnabled Assert Exception260Selector: {selector}261Expected: enable262Actual: not enable263Because: {because}264");265 }266 return page.Value;267 }268 public static IPage HaveNotEnabledElement(269 this ReferenceTypeAssertion<IPage> page,270 string selector,271 string because = "no reason given",272 PageWaitForSelectorOptions? waitOptions = null,273 PageQuerySelectorOptions? queryOptions = null)274 {275 var element = GetElement(page.Value, selector, waitOptions, queryOptions);276 var isEnabled = element.IsEnabled();277 if (isEnabled is true)278 {279 throw new AssertException(@$"280HaveNotElementEnabled Assert Exception281Selector: {selector}282Expected: not enable283Actual: enable284Because: {because}285");286 }287 return page.Value;288 }289 public static IPage HaveHiddenElement(290 this ReferenceTypeAssertion<IPage> page,291 string selector,292 string because = "no reason given",293 PageWaitForSelectorOptions? waitOptions = null,294 PageQuerySelectorOptions? queryOptions = null)295 {296 var element = GetElement(page.Value, selector, waitOptions, queryOptions);297 var isHidden = element.IsHidden();298 if (isHidden is false)299 {300 throw new AssertException(@$"301HaveElementHidden Assert Exception302Selector: {selector}303Expected: hidden304Actual: not hidden305Because: {because}306");307 }308 return page.Value;309 }310 public static IPage HaveNotHiddenElement(311 this ReferenceTypeAssertion<IPage> page,312 string selector,313 string because = "no reason given",314 PageWaitForSelectorOptions? waitOptions = null,315 PageQuerySelectorOptions? queryOptions = null)316 {317 var element = GetElement(page.Value, selector, waitOptions, queryOptions);318 var isHidden = element.IsHidden();319 if (isHidden is true)320 {321 throw new AssertException(@$"322HaveNotElementHidden Assert Exception323Selector: {selector}324Expected: not hidden325Actual: hidden326Because: {because}327");328 }329 return page.Value;330 }331 public static IPage HaveVisibleElement(332 this ReferenceTypeAssertion<IPage> page,333 string selector,334 string because = "no reason given",335 PageWaitForSelectorOptions? waitOptions = null,336 PageQuerySelectorOptions? queryOptions = null)337 {338 var element = GetElement(page.Value, selector, waitOptions, queryOptions);339 var isVisible = element.IsVisible();340 if (isVisible is false)341 {342 throw new AssertException(@$"343HaveElementVisible Assert Exception344Selector: {selector}345Expected: visible346Actual: not visible347Because: {because}348");349 }350 return page.Value;351 }352 public static IPage HaveNotVisibleElement(353 this ReferenceTypeAssertion<IPage> page,354 string selector,355 string because = "no reason given",356 PageWaitForSelectorOptions? waitOptions = null,357 PageQuerySelectorOptions? queryOptions = null)358 {359 var element = GetElement(page.Value, selector, waitOptions, queryOptions);360 var isVisible = element.IsVisible();361 if (isVisible is true)362 {363 throw new AssertException(@$"364HaveElementVisible Assert Exception365Selector: {selector}366Expected: not visible367Actual: visible368Because: {because}369");370 }371 return page.Value;372 }373 public static IPage HaveElementTextContent(374 this ReferenceTypeAssertion<IPage> page,375 string selector,376 string expected,377 string because = "no reason given",378 PageWaitForSelectorOptions? waitOptions = null,379 PageQuerySelectorOptions? queryOptions = null)380 {381 var element = GetElement(page.Value, selector, waitOptions, queryOptions);382 var actual = element.TextContent() ?? "";383 if (string.Compare(actual, expected) != 0)384 {385 throw new AssertException(@$"386HaveElementTextContent Assert Exception387Selector: {selector}388Expected:389{expected}390Actual:391{actual}392Because:393{because}394");395 }396 return page.Value;397 }398 public static IPage HaveNotElementTextContent(399 this ReferenceTypeAssertion<IPage> page,400 string selector,401 string notExpected,402 string because = "no reason given",403 PageWaitForSelectorOptions? waitOptions = null,404 PageQuerySelectorOptions? queryOptions = null)405 {406 var element = GetElement(page.Value, selector, waitOptions, queryOptions);407 var actual = element.TextContent() ?? "";408 if (string.Compare(actual, notExpected) == 0)409 {410 throw new AssertException(@$"411HaveNotElementTextContent Assert Exception412Selector: {selector}413Not expected:414{notExpected}415Actual:416{actual}417Because:418{because}419");420 }421 return page.Value;422 }423 public static IPage HaveElementInnerHTML(424 this ReferenceTypeAssertion<IPage> page,425 string selector,426 string expected,427 string because = "no reason given",428 PageWaitForSelectorOptions? waitOptions = null,429 PageQuerySelectorOptions? queryOptions = null)430 {431 var element = GetElement(page.Value, selector, waitOptions, queryOptions);432 var actual = element.InnerHTML();433 if (string.Compare(actual, expected) != 0)434 {435 throw new AssertException(@$"436HaveElementInnerHTML Assert Exception437Selector: {selector}438Expected:439{expected}440Actual:441{actual}442Because:443{because}444");445 }446 return page.Value;447 }448 public static IPage HaveNotElementInnerHTML(449 this ReferenceTypeAssertion<IPage> page,450 string selector,451 string notExpected,452 string because = "no reason given",453 PageWaitForSelectorOptions? waitOptions = null,454 PageQuerySelectorOptions? queryOptions = null)455 {456 var element = GetElement(page.Value, selector, waitOptions, queryOptions);457 var actual = element.InnerHTML();458 if (string.Compare(actual, notExpected) == 0)459 {460 throw new AssertException(@$"461HaveNotElementInnerHTML Assert Exception462Selector: {selector}463Not expected:464{notExpected}465Actual:466{actual}467Because:468{because}469");470 }471 return page.Value;472 }473 public static IPage HaveElementInnerText(474 this ReferenceTypeAssertion<IPage> page,475 string selector,476 string expected,477 string because = "no reason given",478 PageWaitForSelectorOptions? waitOptions = null,479 PageQuerySelectorOptions? queryOptions = null)480 {481 var element = GetElement(page.Value, selector, waitOptions, queryOptions);482 var actual = element.InnerText();483 if (string.Compare(actual, expected) != 0)484 {485 throw new AssertException(@$"486HaveElementInnerText Assert Exception487Selector: {selector}488Expected:489{expected}490Actual:491{actual}492Because:493{because}494");495 }496 return page.Value;497 }498 public static IPage HaveNotElementInnerText(499 this ReferenceTypeAssertion<IPage> page,500 string selector,501 string notExpected,502 string because = "no reason given",503 PageWaitForSelectorOptions? waitOptions = null,504 PageQuerySelectorOptions? queryOptions = null)505 {506 var element = GetElement(page.Value, selector, waitOptions, queryOptions);507 var actual = element.InnerText();508 if (string.Compare(actual, notExpected) == 0)509 {510 throw new AssertException(@$"511HaveNotElementInnerText Assert Exception512Selector: {selector}513Not expected:514{notExpected}515Actual:516{actual}517Because:518{because}519");520 }521 return page.Value;522 }523 public static IPage HaveElementInputValue(524 this ReferenceTypeAssertion<IPage> page,525 string selector,526 string expected,527 string because = "no reason given",528 PageWaitForSelectorOptions? waitOptions = null,529 PageQuerySelectorOptions? queryOptions = null,530 ElementHandleInputValueOptions? inputOptions = null)531 {532 var element = GetElement(page.Value, selector, waitOptions, queryOptions);533 var actual = element.InputValue(inputOptions);534 if (string.Compare(actual, expected) != 0)535 {536 throw new AssertException(@$"537HaveElementInputValue Assert Exception538Selector: {selector}539Expected:540{expected}541Actual:542{actual}543Because:544{because}545");546 }547 return page.Value;548 }549 public static IPage HaveNotElementInputValue(550 this ReferenceTypeAssertion<IPage> page,551 string selector,552 string notExpected,553 string because = "no reason given",554 PageWaitForSelectorOptions? waitOptions = null,555 PageQuerySelectorOptions? queryOptions = null,556 ElementHandleInputValueOptions? inputOptions = null)557 {558 var element = GetElement(page.Value, selector, waitOptions, queryOptions);559 var actual = element.InputValue(inputOptions);560 if (string.Compare(actual, notExpected) == 0)561 {562 throw new AssertException(@$"563HaveNotElementInputValue Assert Exception564Selector: {selector}565Not expected:566{notExpected}567Actual:568{actual}569Because:570{because}571");572 }573 return page.Value;574 }575 public static IPage HaveElementAttribute(576 this ReferenceTypeAssertion<IPage> page,577 string selector,578 string attributeName,579 string because = "no reason given",580 PageWaitForSelectorOptions? waitOptions = null,581 PageQuerySelectorOptions? queryOptions = null)582 {583 var element = GetElement(page.Value, selector, waitOptions, queryOptions);584 var value = element.GetAttribute(attributeName);585 if (value is null)586 {587 throw new AssertException(@$"588HaveElementAttribute Assert Exception589Selector: {selector}590Expected attribute: {attributeName}591Because: {because}592");593 }594 return page.Value;595 }596 public static IPage HaveNotElementAttribute(597 this ReferenceTypeAssertion<IPage> page,598 string selector,599 string attributeName,600 string because = "no reason given",601 PageWaitForSelectorOptions? waitOptions = null,602 PageQuerySelectorOptions? queryOptions = null)603 {604 var element = GetElement(page.Value, selector, waitOptions, queryOptions);605 var value = element.GetAttribute(attributeName);606 if (value is not null)607 {608 throw new AssertException(@$"609HaveNotElementAttribute Assert Exception610Selector: {selector}611Not expected attribute: {attributeName}612Because: {because}613");614 }615 return page.Value;616 }617 public static IPage HaveElementAttributeValue(618 this ReferenceTypeAssertion<IPage> page,619 string selector,620 string attributeName,621 string expectedAttributeValue,622 string because = "no reason given",623 PageWaitForSelectorOptions? waitOptions = null,624 PageQuerySelectorOptions? queryOptions = null)625 {626 var element = GetElement(page.Value, selector, waitOptions, queryOptions);627 var value = element.GetAttribute(attributeName);628 if (value is null)629 {630 throw new AssertException($"Attribute not found. Attibute name: {attributeName}");631 }632 if (string.Compare(value, expectedAttributeValue) != 0)633 {634 throw new AssertException(@$"635HaveElementAttributeValue Assert Exception636Selector: {selector}637Expected attribute: {attributeName}638Expected attribute value: {expectedAttributeValue}639Actual attribute value: {value}640Because: {because}641");642 }643 return page.Value;644 }645 public static IPage HaveElementNotAttributeValue(646 this ReferenceTypeAssertion<IPage> page,647 string selector,648 string attributeName,649 string expectedAttributeValue,650 string because = "no reason given",651 PageWaitForSelectorOptions? waitOptions = null,652 PageQuerySelectorOptions? queryOptions = null)653 {654 var element = GetElement(page.Value, selector, waitOptions, queryOptions);655 var value = element.GetAttribute(attributeName);656 if (value is null)657 {658 throw new AssertException($"Attribute not found. Attibute name: {attributeName}");659 }660 if (string.Compare(value, expectedAttributeValue) == 0)661 {662 throw new AssertException(@$"663HaveElementNotAttributeValue Assert Exception664Selector: {selector}665Expected attribute: {attributeName}666Not expected attribute value: {expectedAttributeValue}667Actual attribute value: {value}668Because: {because}669");670 }671 return page.Value;672 }673 public static IPage HaveElementComputedStyle(674 this ReferenceTypeAssertion<IPage> page,675 string selector,676 string styleName,677 string expectedStyleValue,678 string because = "no reason given",679 PageWaitForSelectorOptions? waitOptions = null,680 PageQuerySelectorOptions? queryOptions = null)681 {682 var element = GetElement(page.Value, selector, waitOptions, queryOptions);683 var value = element.Evaluate($"e => getComputedStyle(e).{styleName}", element).ToString();684 if (value == "")685 {686 throw new AssertException($"Style not found. Style name: {styleName}");687 }688 if (string.Compare(value, expectedStyleValue) != 0)689 {690 throw new AssertException($@"691HaveElementComputedStyle Assert Exception692Selector: {selector}693Style name: {styleName}694Expected style value: {expectedStyleValue}...
PageDriver.cs
Source:PageDriver.cs
...237 return false;238 }239 }240 /// <inheritdoc cref = "IPage.QuerySelectorAsync" />241 public IElementHandle? QuerySelector(string selector, PageQuerySelectorOptions? options = null)242 {243 return this.AsyncPage.QuerySelectorAsync(selector, options).Result;244 }245 /// <inheritdoc cref = "IPage.WaitForSelectorAsync" />246 public IElementHandle? WaitForSelector(string selector, PageWaitForSelectorOptions? options = null)247 {248 return this.AsyncPage.WaitForSelectorAsync(selector, options).Result;249 }250 /// <inheritdoc cref = "IPage.AddScriptTagAsync" />251 public IElementHandle AddScriptTag(PageAddScriptTagOptions? options = null)252 {253 return this.AsyncPage.AddScriptTagAsync(options).Result;254 }255 /// <inheritdoc cref = "IPage.AddStyleTagAsync" />...
PageModelAssertions.cs
Source:PageModelAssertions.cs
...82 string selector,83 string expectedTextContent,84 string because = "no reason given",85 PageWaitForSelectorOptions? waitOptions = null,86 PageQuerySelectorOptions? queryOptions = null)87 where TPageModel : PageModel88 {89 pageModel.Value.Page.Should().HaveElementTextContent(selector, expectedTextContent, because, waitOptions, queryOptions);90 return pageModel.Value;91 }92 public static TPageModel HaveNotElementTextContent<TPageModel>(93 this ReferenceTypeAssertion<TPageModel> pageModel,94 string selector,95 string notExpectedTextContent,96 string because = "no reason given",97 PageWaitForSelectorOptions? waitOptions = null,98 PageQuerySelectorOptions? queryOptions = null)99 where TPageModel : PageModel100 {101 pageModel.Value.Page.Should().HaveNotElementTextContent(selector, notExpectedTextContent, because, waitOptions, queryOptions);102 return pageModel.Value;103 }104 public static TPageModel HaveElementInnerHTML<TPageModel>(105 this ReferenceTypeAssertion<TPageModel> pageModel,106 string selector,107 string expectedInnerHtml,108 string because = "no reason given",109 PageWaitForSelectorOptions? waitOptions = null,110 PageQuerySelectorOptions? options = null)111 where TPageModel : PageModel112 {113 pageModel.Value.Page.Should().HaveElementInnerHTML(selector, expectedInnerHtml, because, waitOptions, options);114 return pageModel.Value;115 }116 public static TPageModel HaveNotElementInnerHTML<TPageModel>(117 this ReferenceTypeAssertion<TPageModel> pageModel,118 string selector,119 string notExpectedInnerHtml,120 string because = "no reason given",121 PageWaitForSelectorOptions? waitOptions = null,122 PageQuerySelectorOptions? options = null)123 where TPageModel : PageModel124 {125 pageModel.Value.Page.Should().HaveNotElementInnerHTML(selector, notExpectedInnerHtml, because, waitOptions, options);126 return pageModel.Value;127 }128 public static TPageModel HaveElementInnerText<TPageModel>(129 this ReferenceTypeAssertion<TPageModel> pageModel,130 string selector,131 string expectedInnerText,132 string because = "no reason given",133 PageWaitForSelectorOptions? waitOptions = null,134 PageQuerySelectorOptions? options = null)135 where TPageModel : PageModel136 {137 pageModel.Value.Page.Should().HaveElementInnerText(selector, expectedInnerText, because, waitOptions, options);138 return pageModel.Value;139 }140 public static TPageModel HaveNotElementInnerText<TPageModel>(141 this ReferenceTypeAssertion<TPageModel> pageModel,142 string selector,143 string notExpectedInnerText,144 string because = "no reason given",145 PageWaitForSelectorOptions? waitOptions = null,146 PageQuerySelectorOptions? options = null)147 where TPageModel : PageModel148 {149 pageModel.Value.Page.Should().HaveNotElementInnerText(selector, notExpectedInnerText, because, waitOptions, options);150 return pageModel.Value;151 }152 public static TPageModel HaveElementInputValue<TPageModel>(153 this ReferenceTypeAssertion<TPageModel> pageModel,154 string selector,155 string expectedInputValue,156 string because = "no reason given",157 PageWaitForSelectorOptions? waitOptions = null,158 PageQuerySelectorOptions? options = null)159 where TPageModel : PageModel160 {161 pageModel.Value.Page.Should().HaveElementInputValue(selector, expectedInputValue, because, waitOptions, options);162 return pageModel.Value;163 }164 public static TPageModel HaveNotElementInputValue<TPageModel>(165 this ReferenceTypeAssertion<TPageModel> pageModel,166 string selector,167 string notExpectedInputValue,168 string because = "no reason given",169 PageWaitForSelectorOptions? waitOptions = null,170 PageQuerySelectorOptions? options = null)171 where TPageModel : PageModel172 {173 pageModel.Value.Page.Should().HaveNotElementInputValue(selector, notExpectedInputValue, because, waitOptions, options);174 return pageModel.Value;175 }176 public static TPageModel HaveCheckedElement<TPageModel>(177 this ReferenceTypeAssertion<TPageModel> pageModel,178 string selector,179 string because = "no reason given",180 PageWaitForSelectorOptions? waitOptions = null,181 PageQuerySelectorOptions? options = null)182 where TPageModel : PageModel183 {184 pageModel.Value.Page.Should().HaveCheckedElement(selector, because, waitOptions, options);185 return pageModel.Value;186 }187 public static TPageModel HaveNotCheckedElement<TPageModel>(188 this ReferenceTypeAssertion<TPageModel> pageModel,189 string selector,190 string because = "no reason given",191 PageWaitForSelectorOptions? waitOptions = null,192 PageQuerySelectorOptions? options = null)193 where TPageModel : PageModel194 {195 pageModel.Value.Page.Should().HaveNotCheckedElement(selector, because, waitOptions, options);196 return pageModel.Value;197 }198 public static TPageModel HaveDisabledElement<TPageModel>(199 this ReferenceTypeAssertion<TPageModel> pageModel,200 string selector,201 string because = "no reason given",202 PageWaitForSelectorOptions? waitOptions = null,203 PageQuerySelectorOptions? options = null)204 where TPageModel : PageModel205 {206 pageModel.Value.Page.Should().HaveDisabledElement(selector, because, waitOptions, options);207 return pageModel.Value;208 }209 public static TPageModel HaveNotDisabledElement<TPageModel>(210 this ReferenceTypeAssertion<TPageModel> pageModel,211 string selector,212 string because = "no reason given",213 PageWaitForSelectorOptions? waitOptions = null,214 PageQuerySelectorOptions? options = null)215 where TPageModel : PageModel216 {217 pageModel.Value.Page.Should().HaveNotDisabledElement(selector, because, waitOptions, options);218 return pageModel.Value;219 }220 public static TPageModel HaveEditableElement<TPageModel>(221 this ReferenceTypeAssertion<TPageModel> pageModel,222 string selector,223 string because = "no reason given",224 PageWaitForSelectorOptions? waitOptions = null,225 PageQuerySelectorOptions? options = null)226 where TPageModel : PageModel227 {228 pageModel.Value.Page.Should().HaveEditableElement(selector, because, waitOptions, options);229 return pageModel.Value;230 }231 public static TPageModel HaveNotEditableElement<TPageModel>(232 this ReferenceTypeAssertion<TPageModel> pageModel,233 string selector,234 string because = "no reason given",235 PageWaitForSelectorOptions? waitOptions = null,236 PageQuerySelectorOptions? options = null)237 where TPageModel : PageModel238 {239 pageModel.Value.Page.Should().HaveNotEditableElement(selector, because, waitOptions, options);240 return pageModel.Value;241 }242 public static TPageModel HaveEnabledElement<TPageModel>(243 this ReferenceTypeAssertion<TPageModel> pageModel,244 string selector,245 string because = "no reason given",246 PageWaitForSelectorOptions? waitOptions = null,247 PageQuerySelectorOptions? options = null)248 where TPageModel : PageModel249 {250 pageModel.Value.Page.Should().HaveEnabledElement(selector, because, waitOptions, options);251 return pageModel.Value;252 }253 public static TPageModel HaveNotEnabledElement<TPageModel>(254 this ReferenceTypeAssertion<TPageModel> pageModel,255 string selector,256 string because = "no reason given",257 PageWaitForSelectorOptions? waitOptions = null,258 PageQuerySelectorOptions? options = null)259 where TPageModel : PageModel260 {261 pageModel.Value.Page.Should().HaveNotEnabledElement(selector, because, waitOptions, options);262 return pageModel.Value;263 }264 public static TPageModel HaveHiddenElement<TPageModel>(265 this ReferenceTypeAssertion<TPageModel> pageModel,266 string selector,267 string because = "no reason given",268 PageWaitForSelectorOptions? waitOptions = null,269 PageQuerySelectorOptions? options = null)270 where TPageModel : PageModel271 {272 pageModel.Value.Page.Should().HaveHiddenElement(selector, because, waitOptions, options);273 return pageModel.Value;274 }275 public static TPageModel HaveNotHiddenElement<TPageModel>(276 this ReferenceTypeAssertion<TPageModel> pageModel,277 string selector,278 string because = "no reason given",279 PageWaitForSelectorOptions? waitOptions = null,280 PageQuerySelectorOptions? options = null)281 where TPageModel : PageModel282 {283 pageModel.Value.Page.Should().HaveNotHiddenElement(selector, because, waitOptions, options);284 return pageModel.Value;285 }286 public static TPageModel HaveVisibleElement<TPageModel>(287 this ReferenceTypeAssertion<TPageModel> pageModel,288 string selector,289 string because = "no reason given",290 PageWaitForSelectorOptions? waitOptions = null,291 PageQuerySelectorOptions? options = null)292 where TPageModel : PageModel293 {294 pageModel.Value.Page.Should().HaveVisibleElement(selector, because, waitOptions, options);295 return pageModel.Value;296 }297 public static TPageModel HaveNotVisibleElement<TPageModel>(298 this ReferenceTypeAssertion<TPageModel> pageModel,299 string selector,300 string because = "no reason given",301 PageWaitForSelectorOptions? waitOptions = null,302 PageQuerySelectorOptions? options = null)303 where TPageModel : PageModel304 {305 pageModel.Value.Page.Should().HaveNotVisibleElement(selector, because, waitOptions, options);306 return pageModel.Value;307 }308 public static TPageModel HaveElementAttribute<TPageModel>(309 this ReferenceTypeAssertion<TPageModel> pageModel,310 string selector,311 string attributeName,312 string because = "no reason given",313 PageWaitForSelectorOptions? waitOptions = null,314 PageQuerySelectorOptions? options = null)315 where TPageModel : PageModel316 {317 pageModel.Value.Page.Should().HaveElementAttribute(selector, attributeName, because, waitOptions, options);318 return pageModel.Value;319 }320 public static TPageModel HaveElementAttributeValue<TPageModel>(321 this ReferenceTypeAssertion<TPageModel> pageModel,322 string selector,323 string attributeName,324 string expectedValue,325 string because = "no reason given",326 PageWaitForSelectorOptions? waitOptions = null,327 PageQuerySelectorOptions? options = null)328 where TPageModel : PageModel329 {330 pageModel.Value.Page.Should().HaveElementAttributeValue(selector, attributeName, expectedValue, because, waitOptions, options);331 return pageModel.Value;332 }333 public static TPageModel HaveNotElementAttribute<TPageModel>(334 this ReferenceTypeAssertion<TPageModel> pageModel,335 string selector,336 string attributeName,337 string because = "no reason given",338 PageWaitForSelectorOptions? waitOptions = null,339 PageQuerySelectorOptions? options = null)340 where TPageModel : PageModel341 {342 pageModel.Value.Page.Should().HaveNotElementAttribute(selector, attributeName, because, waitOptions, options);343 return pageModel.Value;344 }345 public static TPageModel HaveComputedStyle<TPageModel>(346 this ReferenceTypeAssertion<TPageModel> pageModel,347 string selector,348 string styleName,349 string expectedStyleValue,350 string because = "no reason given",351 PageWaitForSelectorOptions? waitOptions = null,352 PageQuerySelectorOptions? options = null)353 where TPageModel : PageModel354 {355 pageModel.Value.Page.Should().HaveElementComputedStyle(selector, styleName, expectedStyleValue, because, waitOptions, options);356 return pageModel.Value;357 }358}...
PlaywrightHook.cs
Source:PlaywrightHook.cs
...38 public async Task WaitForPage(Regex regex) =>39 await _page.WaitForURLAsync(regex, new PageWaitForURLOptions { Timeout = 0, WaitUntil = WaitUntilState.NetworkIdle });4041 public async Task<bool> IsElementPresent(string xpath) => 42 (await _page.QuerySelectorAsync(xpath, new PageQuerySelectorOptions { })) != null;4344 public async Task<string> GetInnerText(string xpath) =>45 await _page.InnerTextAsync(xpath, new PageInnerTextOptions { });4647 public async ValueTask DisposeAsync()48 {49 await _page.CloseAsync();50 await _browser.DisposeAsync();51 _playwright.Dispose();52 }5354 public async Task Click(string xpath) => 55 await _page.ClickAsync(xpath, new PageClickOptions { });56
...
PageQuerySelectorOptions.cs
Source:PageQuerySelectorOptions.cs
...35using System.Threading.Tasks;36#nullable enable37namespace Microsoft.Playwright38{39 public class PageQuerySelectorOptions40 {41 public PageQuerySelectorOptions() { }42 public PageQuerySelectorOptions(PageQuerySelectorOptions clone)43 {44 if (clone == null)45 {46 return;47 }48 Strict = clone.Strict;49 }50 /// <summary>51 /// <para>52 /// When true, the call requires selector to resolve to a single element. If given selector53 /// resolves to more then one element, the call throws an exception.54 /// </para>55 /// </summary>56 [JsonPropertyName("strict")]...
Menu.cs
Source:Menu.cs
...14 }15 public Menu(ElementModel<TPageModel> parentBlockModel, string selector, ElementHandleWaitForSelectorOptions? waitOptions = null) : base(parentBlockModel, selector, waitOptions)16 {17 }18 public Menu(TPageModel pageModel, string selector, PageWaitForSelectorOptions? waitOptions = null, PageQuerySelectorOptions? queryOptions = null) : base(pageModel, selector, waitOptions, queryOptions)19 {20 }21 public TPageModel ToggleTheme()22 {23 Click(".toggleTrackThumb_xI_Z");24 //WaitForLoadNetworkIdle();25 return PageModel;26 }27 public DocsPage Docs()28 {29 Click("//a[text()='Docs']");30 //WaitForLoadNetworkIdle();31 return new DocsPage(this.Page);32 }...
UIBlock.cs
Source:UIBlock.cs
...11 }12 public UIBlock(ElementModel<TPageModel> parentBlockModel, string selector, ElementHandleWaitForSelectorOptions? waitOptions = null) : base(parentBlockModel, selector, waitOptions)13 {14 }15 public UIBlock(TPageModel pageModel, string selector, PageWaitForSelectorOptions? waitOptions = null, PageQuerySelectorOptions? queryOptions = null) : base(pageModel, selector, waitOptions, queryOptions)16 {17 }18}...
PageQuerySelectorOptions
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 static async Task Main(string[] args)6 {7 using var playwright = await Playwright.CreateAsync();8 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions9 {10 });11 var page = await browser.NewPageAsync();12 await page.ClickAsync("input[title='Search']");13 await page.TypeAsync("input[title='Search']", "Playwright");14 await page.ClickAsync("input[value='Google Search']");15 await page.WaitForLoadStateAsync(LoadState.DOMContentLoaded);16 var element = await page.QuerySelectorAsync("h3");17 Console.WriteLine(await element.TextContentAsync());18 await browser.CloseAsync();19 }20}21using Microsoft.Playwright;22using System;23using System.Threading.Tasks;24{25 static async Task Main(string[] args)26 {27 using var playwright = await Playwright.CreateAsync();28 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions29 {30 });31 var page = await browser.NewPageAsync();32 await page.ClickAsync("input[title='Search']");33 await page.TypeAsync("input[title='Search']", "Playwright");34 await page.ClickAsync("input[value='Google Search']");35 await page.WaitForLoadStateAsync(LoadState.DOMContentLoaded);36 var element = await page.QuerySelectorAsync("h3");37 Console.WriteLine(await element.TextContentAsync());38 await browser.CloseAsync();39 }40}41using Microsoft.Playwright;42using System;43using System.Threading.Tasks;44{45 static async Task Main(string[] args)46 {47 using var playwright = await Playwright.CreateAsync();48 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions49 {50 });51 var page = await browser.NewPageAsync();52 await page.ClickAsync("input[title='Search']");
PageQuerySelectorOptions
Using AI Code Generation
1var playwright = await Playwright.CreateAsync();2var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions3{4});5var context = await browser.NewContextAsync();6var page = await context.NewPageAsync();7await page.TypeAsync("input[name=q]", "hello world");8await page.ClickAsync("input[type=submit]");9await page.WaitForSelectorAsync("text=Hello World - Google Search");10var element = await page.QuerySelectorAsync("text=Hello World - Google Search");11await element.ClickAsync();12await page.WaitForSelectorAsync("text=Hello World");13Console.WriteLine("Done");14await browser.CloseAsync();15var playwright = await Playwright.CreateAsync();16var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions17{18});19var context = await browser.NewContextAsync();20var page = await context.NewPageAsync();21await page.TypeAsync("input[name=q]", "hello world");22await page.ClickAsync("input[type=submit]");23await page.WaitForSelectorAsync("text=Hello World - Google Search");24var element = await page.QuerySelectorAsync("text=Hello World - Google Search");25await element.ClickAsync();26await page.WaitForSelectorAsync("text=Hello World");27Console.WriteLine("Done");28await browser.CloseAsync();29var playwright = await Playwright.CreateAsync();30var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions31{32});33var context = await browser.NewContextAsync();34var page = await context.NewPageAsync();35await page.TypeAsync("input[name=q]", "hello world");36await page.ClickAsync("input[type=submit]");37await page.WaitForSelectorAsync("text=Hello World - Google Search");38var element = await page.QuerySelectorAsync("text=Hello World - Google Search");39await element.ClickAsync();40await page.WaitForSelectorAsync("text=Hello World");41Console.WriteLine("Done");42await browser.CloseAsync();
PageQuerySelectorOptions
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 {6 static async Task Main(string[] args)7 {8 using var playwright = await Playwright.CreateAsync();9 await using var browser = await playwright.Chromium.LaunchAsync(new LaunchOptions10 {11 });12 var page = await browser.NewPageAsync();13 await page.TypeAsync("input[name=q]", "Playwright");14 await page.ClickAsync("input[type=submit]");15 await page.WaitForSelectorAsync("text=Playwright - Microsoft Edge Addons");16 await page.ScreenshotAsync("result.png");17 await page.ClickAsync("text=Playwright - Microsoft Edge Addons");18 var pageQuerySelectorOptions = new PageQuerySelectorOptions();19 pageQuerySelectorOptions.Visible = true;20 var element = await page.QuerySelectorAsync("input[type=submit]", pageQuerySelectorOptions);21 await element.ClickAsync();22 }23 }24}25using Microsoft.Playwright;26using System;27using System.Threading.Tasks;28{29 {30 static async Task Main(string[] args)31 {32 using var playwright = await Playwright.CreateAsync();33 await using var browser = await playwright.Chromium.LaunchAsync(new LaunchOptions34 {35 });36 var page = await browser.NewPageAsync();37 await page.TypeAsync("input[name=q]", "Playwright");38 await page.ClickAsync("input[type=submit]");39 await page.WaitForSelectorAsync("text=Playwright - Microsoft Edge Addons");40 await page.ScreenshotAsync("result.png");41 await page.ClickAsync("text=Playwright - Microsoft Edge Addons");42 var pageQuerySelectorAllOptions = new PageQuerySelectorAllOptions();43 pageQuerySelectorAllOptions.Visible = true;44 var elements = await page.QuerySelectorAllAsync("input[type=submit]", pageQuerySelectorAllOptions);45 foreach(var element in elements)46 {47 await element.ClickAsync();48 }49 }50 }51}
PageQuerySelectorOptions
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 {6 static async Task Main(string[] args)7 {8 using var playwright = await Playwright.CreateAsync();9 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions10 {11 });12 var page = await browser.NewPageAsync();13 await page.TypeAsync("input[name=q]", "Playwright");14 await page.ClickAsync("text=Google Search");15 await page.WaitForLoadStateAsync(LoadState.NetworkIdle);16 var result = await page.QuerySelectorAsync("text=Playwright: Node.js library to automate Chromium, Firefox and WebKit");17 Console.WriteLine(result.ToString());18 }19 }20}
PageQuerySelectorOptions
Using AI Code Generation
1var search = await page.QuerySelectorAsync("input[name=q]");2await search.TypeAsync("Hello world");3await search.PressAsync("Enter");4await page.WaitForNavigationAsync();5var search = await page.QuerySelectorAsync("input[name=q]");6await search.TypeAsync("Hello world");7await search.PressAsync("Enter");8await page.WaitForNavigationAsync();9var search = await page.QuerySelectorAsync("input[name=q]");10await search.TypeAsync("Hello world");11await search.PressAsync("Enter");12await page.WaitForNavigationAsync();13var search = await page.QuerySelectorAsync("input[name=q]");14await search.TypeAsync("Hello world");15await search.PressAsync("Enter");16await page.WaitForNavigationAsync();17var search = await page.QuerySelectorAsync("input[name=q]");18await search.TypeAsync("Hello world");19await search.PressAsync("Enter");20await page.WaitForNavigationAsync();21var search = await page.QuerySelectorAsync("input[name=q]");22await search.TypeAsync("Hello world");23await search.PressAsync("Enter");24await page.WaitForNavigationAsync();25var search = await page.QuerySelectorAsync("input[name=q]");26await search.TypeAsync("Hello world");
PageQuerySelectorOptions
Using AI Code Generation
1using System;2using System.Collections.Generic;3using System.Threading.Tasks;4using Microsoft.Playwright;5{6 public static async Task Main()7 {8 using var playwright = await Playwright.CreateAsync();9 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions10 {11 });12 var page = await browser.NewPageAsync();13 var handle = await page.QuerySelectorAsync("text=Get started");14 await handle.ClickAsync();15 {16 };17 var selector = await page.QuerySelectorAsync("text=Example:", options);18 Console.WriteLine(selector);19 }20}21using System;22using System.Collections.Generic;23using System.Threading.Tasks;24using Microsoft.Playwright;25{26 public static async Task Main()27 {28 using var playwright = await Playwright.CreateAsync();29 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions30 {31 });32 var page = await browser.NewPageAsync();33 var handle = await page.QuerySelectorAsync("text=Get started");34 await handle.ClickAsync();35 {36 };37 var selector = await page.QuerySelectorAsync("text=Example:", options);38 Console.WriteLine(selector);39 }40}41using System;42using System.Collections.Generic;43using System.Threading.Tasks;44using Microsoft.Playwright;45{46 public static async Task Main()47 {48 using var playwright = await Playwright.CreateAsync();49 await using var browser = await playwright.Chromium.LaunchAsync(new
PageQuerySelectorOptions
Using AI Code Generation
1using Microsoft.Playwright;2using System;3using System.Threading.Tasks;4{5 static async Task Main(string[] args)6 {7 using var playwright = await Playwright.CreateAsync();8 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions9 {10 });11 var context = await browser.NewContextAsync();12 var page = await context.NewPageAsync();13 var elementHandle = await page.QuerySelectorAsync("input[name='q']");14 await elementHandle.TypeAsync("Hello World");15 var textContent = await elementHandle.EvaluateAsync<string>("el => el.value");16 Console.WriteLine(textContent);17 await browser.CloseAsync();18 }19}20using Microsoft.Playwright;21using System;22using System.Threading.Tasks;23{24 static async Task Main(string[] args)25 {26 using var playwright = await Playwright.CreateAsync();27 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions28 {29 });30 var context = await browser.NewContextAsync();31 var page = await context.NewPageAsync();32 var elementHandle = await page.QuerySelectorAllAsync("input[name='q']");33 await elementHandle[0].TypeAsync("Hello World");34 var textContent = await elementHandle[0].EvaluateAsync<string>("el => el.value");35 Console.WriteLine(textContent);36 await browser.CloseAsync();37 }38}39using Microsoft.Playwright;40using System;41using System.Threading.Tasks;42{43 static async Task Main(string[] args)44 {45 using var playwright = await Playwright.CreateAsync();46 await using var browser = await playwright.Chromium.LaunchAsync(new BrowserTypeLaunchOptions47 {
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!