tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_1954144_td_com.py (1547B)


      1 import pytest
      2 from webdriver.error import NoSuchElementException
      3 
      4 URL = "https://www.td.com/ca/en/about-td/diversity-and-inclusion/black-communities-in-canada?cm_sp=c000-20-2404"
      5 
      6 COOKIES_CLOSE_CSS = ".onetrust-close-btn-handler"
      7 VIDEO_CSS = "a.cmp-banner-container__video-container-link"
      8 CONTAINER_CSS = ".videoModal.container .cmp-dialog__details"
      9 
     10 
     11 async def is_scrollbar_visible(client):
     12    await client.navigate(URL)
     13 
     14    try:
     15        client.await_css(COOKIES_CLOSE_CSS, is_displayed=True, timeout=4).click()
     16        client.await_element_hidden(client.css(COOKIES_CLOSE_CSS))
     17    except NoSuchElementException:
     18        pass
     19 
     20    client.execute_script("HTMLMediaElement.prototype.play = () => {}")
     21    client.await_css(VIDEO_CSS, is_displayed=True).click()
     22    container = client.await_css(CONTAINER_CSS, is_displayed=True)
     23    return client.execute_script(
     24        """
     25      const container = arguments[0];
     26      const { width, height } = container.getBoundingClientRect();
     27      return container.scrollWidth !== Math.round(width) || container.scrollHeight !== Math.round(height);
     28    """,
     29        container,
     30    )
     31 
     32 
     33 @pytest.mark.skip_platforms("android")
     34 @pytest.mark.need_visible_scrollbars
     35 @pytest.mark.asyncio
     36 @pytest.mark.with_interventions
     37 async def test_enabled(client):
     38    assert not await is_scrollbar_visible(client)
     39 
     40 
     41 @pytest.mark.skip_platforms("android")
     42 @pytest.mark.need_visible_scrollbars
     43 @pytest.mark.asyncio
     44 @pytest.mark.without_interventions
     45 async def test_disabled(client):
     46    assert await is_scrollbar_visible(client)