Best Python code snippet using playwright-python
test_locators.py
Source:test_locators.py
...469 is True470 )471def test_locator_query_should_filter_by_text(page: Page, server: Server) -> None:472 page.set_content("<div>Foobar</div><div>Bar</div>")473 expect(page.locator("div", has_text="Foo")).to_have_text("Foobar")474def test_locator_query_should_filter_by_text_2(page: Page, server: Server) -> None:475 page.set_content("<div>foo <span>hello world</span> bar</div>")476 expect(page.locator("div", has_text="hello world")).to_have_text(477 "foo hello world bar"478 )479def test_locator_query_should_filter_by_regex(page: Page, server: Server) -> None:480 page.set_content("<div>Foobar</div><div>Bar</div>")481 expect(page.locator("div", has_text=re.compile(r"Foo.*"))).to_have_text("Foobar")482def test_locator_query_should_filter_by_text_with_quotes(483 page: Page, server: Server484) -> None:485 page.set_content('<div>Hello "world"</div><div>Hello world</div>')486 expect(page.locator("div", has_text='Hello "world"')).to_have_text('Hello "world"')487def test_locator_query_should_filter_by_regex_with_quotes(488 page: Page, server: Server489) -> None:490 page.set_content('<div>Hello "world"</div><div>Hello world</div>')491 expect(page.locator("div", has_text=re.compile('Hello "world"'))).to_have_text(492 'Hello "world"'493 )494def test_locator_query_should_filter_by_regex_and_regexp_flags(495 page: Page, server: Server496) -> None:497 page.set_content('<div>Hello "world"</div><div>Hello world</div>')498 expect(499 page.locator("div", has_text=re.compile('hElLo "world', re.IGNORECASE))500 ).to_have_text('Hello "world"')501def test_locator_should_return_page(page: Page, server: Server) -> None:502 page.goto(server.PREFIX + "/frames/two-frames.html")503 outer = page.locator("#outer")504 assert outer.page == page505 inner = outer.locator("#inner")506 assert inner.page == page507 in_frame = page.frames[1].locator("div")508 assert in_frame.page == page509def test_locator_should_support_has_locator(page: Page, server: Server) -> None:510 page.set_content("<div><span>hello</span></div><div><span>world</span></div>")511 expect(page.locator("div", has=page.locator("text=world"))).to_have_count(1)512 assert (513 page.locator("div", has=page.locator("text=world")).evaluate("e => e.outerHTML")514 == "<div><span>world</span></div>"...
_assertions.py
Source:_assertions.py
...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 )...
test_assertions.py
Source:test_assertions.py
...131 expect(page.locator("div")).to_have_js_property(132 "foo",133 {"a": 1, "b": "string", "c": datetime.utcfromtimestamp(1627503992000 / 1000)},134 )135def test_assertions_locator_to_have_text(page: Page, server: Server) -> None:136 page.goto(server.EMPTY_PAGE)137 page.set_content("<div id=foobar>kek</div>")138 expect(page.locator("div#foobar")).to_have_text("kek")139 expect(page.locator("div#foobar")).not_to_have_text("top", timeout=100)140 page.set_content("<div>Text \n1</div><div>Text 2a</div>")141 # Should only normalize whitespace in the first item.142 expect(page.locator("div")).to_have_text(["Text 1", re.compile(r"Text \d+a")])143def test_assertions_locator_to_have_value(page: Page, server: Server) -> None:144 page.goto(server.EMPTY_PAGE)145 page.set_content("<input type=text id=foo>")146 my_input = page.locator("#foo")147 expect(my_input).to_have_value("")148 expect(my_input).not_to_have_value("bar", timeout=100)149 my_input.fill("kektus")150 expect(my_input).to_have_value("kektus")151def test_assertions_locator_to_be_checked(page: Page, server: Server) -> None:152 page.goto(server.EMPTY_PAGE)153 page.set_content("<input type=checkbox>")154 my_checkbox = page.locator("input")155 expect(my_checkbox).not_to_be_checked()156 with pytest.raises(AssertionError):157 expect(my_checkbox).to_be_checked(timeout=100)158 expect(my_checkbox).to_be_checked(timeout=100, checked=False)159 with pytest.raises(AssertionError):160 expect(my_checkbox).to_be_checked(timeout=100, checked=True)161 my_checkbox.check()162 expect(my_checkbox).to_be_checked(timeout=100, checked=True)163 with pytest.raises(AssertionError):164 expect(my_checkbox).to_be_checked(timeout=100, checked=False)165 expect(my_checkbox).to_be_checked()166def test_assertions_locator_to_be_disabled_enabled(page: Page, server: Server) -> None:167 page.goto(server.EMPTY_PAGE)168 page.set_content("<input type=checkbox>")169 my_checkbox = page.locator("input")170 expect(my_checkbox).not_to_be_disabled()171 expect(my_checkbox).to_be_enabled()172 with pytest.raises(AssertionError):173 expect(my_checkbox).to_be_disabled(timeout=100)174 my_checkbox.evaluate("e => e.disabled = true")175 expect(my_checkbox).to_be_disabled()176 with pytest.raises(AssertionError):177 expect(my_checkbox).to_be_enabled(timeout=100)178def test_assertions_locator_to_be_editable(page: Page, server: Server) -> None:179 page.goto(server.EMPTY_PAGE)180 page.set_content("<input></input><button disabled>Text</button>")181 expect(page.locator("button")).not_to_be_editable()182 expect(page.locator("input")).to_be_editable()183 with pytest.raises(AssertionError):184 expect(page.locator("button")).to_be_editable(timeout=100)185def test_assertions_locator_to_be_empty(page: Page, server: Server) -> None:186 page.goto(server.EMPTY_PAGE)187 page.set_content(188 "<input value=text name=input1></input><input name=input2></input>"189 )190 expect(page.locator("input[name=input1]")).not_to_be_empty()191 expect(page.locator("input[name=input2]")).to_be_empty()192 with pytest.raises(AssertionError):193 expect(page.locator("input[name=input1]")).to_be_empty(timeout=100)194def test_assertions_locator_to_be_focused(page: Page, server: Server) -> None:195 page.goto(server.EMPTY_PAGE)196 page.set_content("<input type=checkbox>")197 my_checkbox = page.locator("input")198 with pytest.raises(AssertionError):199 expect(my_checkbox).to_be_focused(timeout=100)200 my_checkbox.focus()201 expect(my_checkbox).to_be_focused()202def test_assertions_locator_to_be_hidden_visible(page: Page, server: Server) -> None:203 page.goto(server.EMPTY_PAGE)204 page.set_content("<div style='width: 50px; height: 50px;'>Something</div>")205 my_checkbox = page.locator("div")206 expect(my_checkbox).to_be_visible()207 with pytest.raises(AssertionError):208 expect(my_checkbox).to_be_hidden(timeout=100)209 my_checkbox.evaluate("e => e.style.display = 'none'")210 expect(my_checkbox).to_be_hidden()211 with pytest.raises(AssertionError):212 expect(my_checkbox).to_be_visible(timeout=100)213def test_assertions_should_serialize_regexp_correctly(214 page: Page, server: Server215) -> None:216 page.goto(server.EMPTY_PAGE)217 page.set_content("<div>iGnOrEcAsE</div>")218 expect(page.locator("div")).to_have_text(re.compile(r"ignorecase", re.IGNORECASE))219 page.set_content(220 """<div>start221some222lines223between224end</div>"""225 )226 expect(page.locator("div")).to_have_text(re.compile(r"start.*end", re.DOTALL))227 page.set_content(228 """<div>line1229line2230line3</div>"""231 )232 expect(page.locator("div")).to_have_text(re.compile(r"^line2$", re.MULTILINE))233def test_assertions_response_is_ok_pass(page: Page, server: Server) -> None:234 response = page.request.get(server.EMPTY_PAGE)235 expect(response).to_be_ok()236def test_assertions_response_is_ok_pass_with_not(page: Page, server: Server) -> None:237 response = page.request.get(server.PREFIX + "/unknown")238 expect(response).not_to_be_ok()239def test_assertions_response_is_ok_fail(page: Page, server: Server) -> None:240 response = page.request.get(server.PREFIX + "/unknown")241 with pytest.raises(AssertionError) as excinfo:242 expect(response).to_be_ok()243 error_message = str(excinfo.value)244 assert ("â GET " + server.PREFIX + "/unknown") in error_message...
base_page.py
Source:base_page.py
...117 def press(self, locator: str, keyboard: str):118 self.page.press(locator, keyboard)119 @allure.step('Contains Text - {locator} has {text}')120 def have_text(self, locator, text) -> None:...
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!!