Best Python code snippet using playwright-python
_assertions.py
Source:_assertions.py
...59 return PageAssertions(self._actual_page, not self._is_not)60 async def to_have_title(61 self, title_or_reg_exp: Union[Pattern, str], timeout: float = None62 ) -> None:63 expected_values = to_expected_text_values(64 [title_or_reg_exp], normalize_white_space=True65 )66 __tracebackhide__ = True67 await self._expect_impl(68 "to.have.title",69 FrameExpectOptions(expectedText=expected_values, timeout=timeout),70 title_or_reg_exp,71 "Page title expected to be",72 )73 async def not_to_have_title(74 self, title_or_reg_exp: Union[Pattern, str], timeout: float = None75 ) -> None:76 __tracebackhide__ = True77 await self._not.to_have_title(title_or_reg_exp, timeout)78 async def to_have_url(79 self, url_or_reg_exp: Union[str, Pattern], timeout: float = None80 ) -> None:81 __tracebackhide__ = True82 base_url = self._actual_page.context._options.get("baseURL")83 if isinstance(url_or_reg_exp, str) and base_url:84 url_or_reg_exp = urljoin(base_url, url_or_reg_exp)85 expected_text = to_expected_text_values([url_or_reg_exp])86 await self._expect_impl(87 "to.have.url",88 FrameExpectOptions(expectedText=expected_text, timeout=timeout),89 url_or_reg_exp,90 "Page URL expected to be",91 )92 async def not_to_have_url(93 self, url_or_reg_exp: Union[Pattern, str], timeout: float = None94 ) -> None:95 __tracebackhide__ = True96 await self._not.to_have_url(url_or_reg_exp, timeout)97class LocatorAssertions(AssertionsBase):98 def __init__(self, locator: Locator, is_not: bool = False) -> None:99 super().__init__(locator, is_not)100 self._actual_locator = locator101 @property102 def _not(self) -> "LocatorAssertions":103 return LocatorAssertions(self._actual_locator, not self._is_not)104 async def to_contain_text(105 self,106 expected: Union[List[Union[Pattern, str]], Pattern, str],107 use_inner_text: bool = None,108 timeout: float = None,109 ) -> None:110 __tracebackhide__ = True111 if isinstance(expected, list):112 expected_text = to_expected_text_values(113 expected, match_substring=True, normalize_white_space=True114 )115 await self._expect_impl(116 "to.contain.text.array",117 FrameExpectOptions(118 expectedText=expected_text,119 useInnerText=use_inner_text,120 timeout=timeout,121 ),122 expected,123 "Locator expected to contain text",124 )125 else:126 expected_text = to_expected_text_values(127 [expected], match_substring=True, normalize_white_space=True128 )129 await self._expect_impl(130 "to.have.text",131 FrameExpectOptions(132 expectedText=expected_text,133 useInnerText=use_inner_text,134 timeout=timeout,135 ),136 expected,137 "Locator expected to contain text",138 )139 async def not_to_contain_text(140 self,141 expected: Union[List[Union[Pattern, str]], Pattern, str],142 use_inner_text: bool = None,143 timeout: float = None,144 ) -> None:145 __tracebackhide__ = True146 await self._not.to_contain_text(expected, use_inner_text, timeout)147 async def to_have_attribute(148 self,149 name: str,150 value: Union[str, Pattern],151 timeout: float = None,152 ) -> None:153 __tracebackhide__ = True154 expected_text = to_expected_text_values([value])155 await self._expect_impl(156 "to.have.attribute",157 FrameExpectOptions(158 expressionArg=name, expectedText=expected_text, timeout=timeout159 ),160 value,161 "Locator expected to have attribute",162 )163 async def not_to_have_attribute(164 self,165 name: str,166 value: Union[str, Pattern],167 timeout: float = None,168 ) -> None:169 __tracebackhide__ = True170 await self._not.to_have_attribute(name, value, timeout)171 async def to_have_class(172 self,173 expected: Union[List[Union[Pattern, str]], Pattern, str],174 timeout: float = None,175 ) -> None:176 __tracebackhide__ = True177 if isinstance(expected, list):178 expected_text = to_expected_text_values(expected)179 await self._expect_impl(180 "to.have.class.array",181 FrameExpectOptions(expectedText=expected_text, timeout=timeout),182 expected,183 "Locator expected to have class",184 )185 else:186 expected_text = to_expected_text_values([expected])187 await self._expect_impl(188 "to.have.class",189 FrameExpectOptions(expectedText=expected_text, timeout=timeout),190 expected,191 "Locator expected to have class",192 )193 async def not_to_have_class(194 self,195 expected: Union[List[Union[Pattern, str]], Pattern, str],196 timeout: float = None,197 ) -> None:198 __tracebackhide__ = True199 await self._not.to_have_class(expected, timeout)200 async def to_have_count(201 self,202 count: int,203 timeout: float = None,204 ) -> None:205 __tracebackhide__ = True206 await self._expect_impl(207 "to.have.count",208 FrameExpectOptions(expectedNumber=count, timeout=timeout),209 count,210 "Locator expected to have count",211 )212 async def not_to_have_count(213 self,214 count: int,215 timeout: float = None,216 ) -> None:217 __tracebackhide__ = True218 await self._not.to_have_count(count, timeout)219 async def to_have_css(220 self,221 name: str,222 value: Union[str, Pattern],223 timeout: float = None,224 ) -> None:225 __tracebackhide__ = True226 expected_text = to_expected_text_values([value])227 await self._expect_impl(228 "to.have.css",229 FrameExpectOptions(230 expressionArg=name, expectedText=expected_text, timeout=timeout231 ),232 value,233 "Locator expected to have CSS",234 )235 async def not_to_have_css(236 self,237 name: str,238 value: Union[str, Pattern],239 timeout: float = None,240 ) -> None:241 __tracebackhide__ = True242 await self._not.to_have_css(name, value, timeout)243 async def to_have_id(244 self,245 id: Union[str, Pattern],246 timeout: float = None,247 ) -> None:248 __tracebackhide__ = True249 expected_text = to_expected_text_values([id])250 await self._expect_impl(251 "to.have.id",252 FrameExpectOptions(expectedText=expected_text, timeout=timeout),253 id,254 "Locator expected to have ID",255 )256 async def not_to_have_id(257 self,258 id: Union[str, Pattern],259 timeout: float = None,260 ) -> None:261 __tracebackhide__ = True262 await self._not.to_have_id(id, timeout)263 async def to_have_js_property(264 self,265 name: str,266 value: Any,267 timeout: float = None,268 ) -> None:269 __tracebackhide__ = True270 await self._expect_impl(271 "to.have.property",272 FrameExpectOptions(273 expressionArg=name, expectedValue=value, timeout=timeout274 ),275 value,276 "Locator expected to have JS Property",277 )278 async def not_to_have_js_property(279 self,280 name: str,281 value: Any,282 timeout: float = None,283 ) -> None:284 __tracebackhide__ = True285 await self._not.to_have_js_property(name, value, timeout)286 async def to_have_value(287 self,288 value: Union[str, Pattern],289 timeout: float = None,290 ) -> None:291 __tracebackhide__ = True292 expected_text = to_expected_text_values([value])293 await self._expect_impl(294 "to.have.value",295 FrameExpectOptions(expectedText=expected_text, timeout=timeout),296 value,297 "Locator expected to have Value",298 )299 async def not_to_have_value(300 self,301 value: Union[str, Pattern],302 timeout: float = None,303 ) -> None:304 __tracebackhide__ = True305 await self._not.to_have_value(value, timeout)306 async def to_have_text(307 self,308 expected: Union[List[Union[Pattern, str]], Pattern, str],309 use_inner_text: bool = None,310 timeout: float = None,311 ) -> None:312 __tracebackhide__ = True313 if isinstance(expected, list):314 expected_text = to_expected_text_values(315 expected, normalize_white_space=True316 )317 await self._expect_impl(318 "to.have.text.array",319 FrameExpectOptions(320 expectedText=expected_text,321 useInnerText=use_inner_text,322 timeout=timeout,323 ),324 expected,325 "Locator expected to have text",326 )327 else:328 expected_text = to_expected_text_values(329 [expected], normalize_white_space=True330 )331 await self._expect_impl(332 "to.have.text",333 FrameExpectOptions(334 expectedText=expected_text,335 useInnerText=use_inner_text,336 timeout=timeout,337 ),338 expected,339 "Locator expected to have text",340 )341 async def not_to_have_text(342 self,343 expected: Union[List[Union[Pattern, str]], Pattern, str],344 use_inner_text: bool = None,345 timeout: float = None,346 ) -> None:347 __tracebackhide__ = True348 await self._not.to_have_text(expected, use_inner_text, timeout)349 async def to_be_checked(350 self,351 timeout: float = None,352 checked: bool = None,353 ) -> None:354 __tracebackhide__ = True355 await self._expect_impl(356 "to.be.checked"357 if checked is None or checked is True358 else "to.be.unchecked",359 FrameExpectOptions(timeout=timeout),360 None,361 "Locator expected to be checked",362 )363 async def not_to_be_checked(364 self,365 timeout: float = None,366 ) -> None:367 __tracebackhide__ = True368 await self._not.to_be_checked(timeout)369 async def to_be_disabled(370 self,371 timeout: float = None,372 ) -> None:373 __tracebackhide__ = True374 await self._expect_impl(375 "to.be.disabled",376 FrameExpectOptions(timeout=timeout),377 None,378 "Locator expected to be disabled",379 )380 async def not_to_be_disabled(381 self,382 timeout: float = None,383 ) -> None:384 __tracebackhide__ = True385 await self._not.to_be_disabled(timeout)386 async def to_be_editable(387 self,388 timeout: float = None,389 ) -> None:390 __tracebackhide__ = True391 await self._expect_impl(392 "to.be.editable",393 FrameExpectOptions(timeout=timeout),394 None,395 "Locator expected to be editable",396 )397 async def not_to_be_editable(398 self,399 timeout: float = None,400 ) -> None:401 __tracebackhide__ = True402 await self._not.to_be_editable(timeout)403 async def to_be_empty(404 self,405 timeout: float = None,406 ) -> None:407 __tracebackhide__ = True408 await self._expect_impl(409 "to.be.empty",410 FrameExpectOptions(timeout=timeout),411 None,412 "Locator expected to be empty",413 )414 async def not_to_be_empty(415 self,416 timeout: float = None,417 ) -> None:418 __tracebackhide__ = True419 await self._not.to_be_empty(timeout)420 async def to_be_enabled(421 self,422 timeout: float = None,423 ) -> None:424 __tracebackhide__ = True425 await self._expect_impl(426 "to.be.enabled",427 FrameExpectOptions(timeout=timeout),428 None,429 "Locator expected to be enabled",430 )431 async def not_to_be_enabled(432 self,433 timeout: float = None,434 ) -> None:435 __tracebackhide__ = True436 await self._not.to_be_enabled(timeout)437 async def to_be_hidden(438 self,439 timeout: float = None,440 ) -> None:441 __tracebackhide__ = True442 await self._expect_impl(443 "to.be.hidden",444 FrameExpectOptions(timeout=timeout),445 None,446 "Locator expected to be hidden",447 )448 async def not_to_be_hidden(449 self,450 timeout: float = None,451 ) -> None:452 __tracebackhide__ = True453 await self._not.to_be_hidden(timeout)454 async def to_be_visible(455 self,456 timeout: float = None,457 ) -> None:458 __tracebackhide__ = True459 await self._expect_impl(460 "to.be.visible",461 FrameExpectOptions(timeout=timeout),462 None,463 "Locator expected to be visible",464 )465 async def not_to_be_visible(466 self,467 timeout: float = None,468 ) -> None:469 __tracebackhide__ = True470 await self._not.to_be_visible(timeout)471 async def to_be_focused(472 self,473 timeout: float = None,474 ) -> None:475 __tracebackhide__ = True476 await self._expect_impl(477 "to.be.focused",478 FrameExpectOptions(timeout=timeout),479 None,480 "Locator expected to be focused",481 )482 async def not_to_be_focused(483 self,484 timeout: float = None,485 ) -> None:486 __tracebackhide__ = True487 await self._not.to_be_focused(timeout)488class APIResponseAssertions:489 def __init__(self, response: APIResponse, is_not: bool = False) -> None:490 self._loop = response._loop491 self._dispatcher_fiber = response._dispatcher_fiber492 self._is_not = is_not493 self._actual = response494 @property495 def _not(self) -> "APIResponseAssertions":496 return APIResponseAssertions(self._actual, not self._is_not)497 async def to_be_ok(498 self,499 ) -> None:500 __tracebackhide__ = True501 if self._is_not is not self._actual.ok:502 return503 message = f"Response status expected to be within [200..299] range, was '{self._actual.status}'"504 if self._is_not:505 message = message.replace("expected to", "expected not to")506 log_list = await self._actual._fetch_log()507 log = "\n".join(log_list).strip()508 if log:509 message += f"\n Call log:\n{log}"510 raise AssertionError(message)511 async def not_to_be_ok(self) -> None:512 __tracebackhide__ = True513 await self._not.to_be_ok()514def expected_regex(515 pattern: Pattern, match_substring: bool, normalize_white_space: bool516) -> ExpectedTextValue:517 expected = ExpectedTextValue(518 regexSource=pattern.pattern,519 regexFlags=escape_regex_flags(pattern),520 matchSubstring=match_substring,521 normalizeWhiteSpace=normalize_white_space,522 )523 return expected524def to_expected_text_values(525 items: Union[List[Pattern], List[str], List[Union[str, Pattern]]],526 match_substring: bool = False,527 normalize_white_space: bool = False,528) -> List[ExpectedTextValue]:529 out: List[ExpectedTextValue] = []530 assert isinstance(items, list)531 for item in items:532 if isinstance(item, str):533 out.append(534 ExpectedTextValue(535 string=item,536 matchSubstring=match_substring,537 normalizeWhiteSpace=normalize_white_space,538 )...
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!!