Best Python code snippet using playwright-python
_browser_context.py
Source:_browser_context.py
...354 return list(self._background_pages)355 @property356 def service_workers(self) -> List[Worker]:357 return list(self._service_workers)358 async def new_cdp_session(self, page: Union[Page, Frame]) -> CDPSession:359 page = to_impl(page)360 params = {}361 if isinstance(page, Page):362 params["page"] = page._channel363 elif isinstance(page, Frame):364 params["frame"] = page._channel365 else:366 raise Error("page: expected Page or Frame")367 return from_channel(await self._channel.send("newCDPSession", params))368 @property369 def tracing(self) -> Tracing:370 return self._tracing371 @property372 def request(self) -> "APIRequestContext":...
test_e2e_upload.py
Source:test_e2e_upload.py
...93@pytest.mark.urls(__name__)94@pytest.mark.parametrize('viewname', ['upload'])95def test_upload_progressbar(page):96 field_group = page.query_selector('django-formset django-field-group')97 client = page.context.new_cdp_session(page)98 client.send('Network.enable')99 network_conditions = {100 'offline': False,101 'downloadThroughput': 999999,102 'uploadThroughput': 512,103 'latency': 20104 }105 client.send('Network.emulateNetworkConditions', network_conditions)106 page.set_input_files('#id_avatar', 'testapp/assets/python-django.png')107 progress_bar = field_group.wait_for_selector('progress')108 assert progress_bar is not None109 progress_value = float(progress_bar.get_attribute('value'))110 assert progress_value >= 0.0 and progress_value < 1.0111 sleep(0.2)112 progress_value = float(progress_bar.get_attribute('value'))113 assert progress_value > 0.0 and progress_value <= 1.0114 network_conditions.update(uploadThroughput=999999)115 client.send('Network.emulateNetworkConditions', network_conditions)116 file_picture = page.wait_for_selector('li.dj-file-picture')117 assert file_picture is not None118@pytest.mark.urls(__name__)119@pytest.mark.parametrize('viewname', ['upload'])120def test_upload_in_progress(page):121 field_group = page.wait_for_selector('django-formset django-field-group')122 client = page.context.new_cdp_session(page)123 client.send('Network.enable')124 network_conditions = {125 'offline': False,126 'downloadThroughput': 999999,127 'uploadThroughput': 512,128 'latency': 20129 }130 client.send('Network.emulateNetworkConditions', network_conditions)131 page.set_input_files('#id_avatar', 'testapp/assets/python-django.png')132 sleep(0.02)133 page.wait_for_selector('django-formset').evaluate('elem => elem.submit()')134 error_placeholder = field_group.wait_for_selector('.dj-errorlist .dj-placeholder')135 assert error_placeholder.inner_html() == "File upload still in progress."136@pytest.mark.urls(__name__)...
_spoof.py
Source:_spoof.py
...21 self.previous = start22 self.moving = False23 self.overshoot_spread = 1024 self.overshoot_radius = 12025 self.cdp_session = page.context.new_cdp_session(page)26 def get_random_page_point(self) -> Vector:27 """Get a random point on a browser window"""28 target_id = self.page.target._targetId29 window = self.cdp_session.send(30 "Browser.getWindowForTarget", {"targetId": target_id}31 )32 return get_random_box_point(33 {34 "x": origin.x,35 "y": origin.y,36 "width": window["bounds"]["width"],37 "height": window["bounds"]["height"],38 }39 )...
link_checker.py
Source:link_checker.py
...35 self.__rulesets: Optional[List[RuleSet]] = None36 async def __capture_page_requests(self, browser: Browser, url: str, queue: asyncio.Queue):37 logging.info(f"Capturing requests for {url}")38 page = await browser.new_page()39 client = await page.context.new_cdp_session(page)40 await client.send("Debugger.enable")41 await client.send("Debugger.setAsyncCallStackDepth", {"maxDepth": 32})42 await client.send("Network.enable")43 def handle_pre_request(args):44 request_info = RequestInfo.parse_obj(args)45 queue.put_nowait(request_info)46 client.on("Network.requestWillBeSent", handle_pre_request)47 await page.goto(url)48 title = await page.title()49 url = page.url50 await page.close()51 logging.info(f"Requests captured for {url}")52 return title, url53 def __create_report(self, title: str, url: str, queue: asyncio.Queue):...
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!!