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!!
